On 7/28/06, Don Waugaman <dpw(a)email.cs.arizona.edu> wrote:
I'm working on putting LinuxBIOS on an old ASUS P2B-L that I'd like to
convert into an "instant-on" server for home use. It has an Intel 440BX
Excellent Looks like we are finally going to get the 440bx stuff working.
ASUS however is a bit problematic. They hide the SMbus with a GPIO or
something. More below.
Then I grabbed the SVN trees for both v1 and v2. I
bitworks/ims mainboard and target directories, as they seemed to be
using the 440bx code, and I'm slogging through changing the various
bitworks & ims entries in the code to asus & p2bl entries. So far, so
good, though I feel somewhat like I'm in a maze of twisty little
passages, all alike.
The learing curve is steep. Stick with it.
You are in luck. I've actually got booting code for my ASUS P2b. Both
V1 and V2. In V1 you have to hammer in the RAM settings because like
I said the SMbus is either not in the same location as the 440bx
reference design or its hidden with a GPIO. We will proballly have to
do a bit of sluthing work under a factory bios system and Linux to
find out what GPIO does the magic.
In V2 its exactly the same as the Bitworks IMS suff with the superIO
changed. Current issue is that again SMbus stuff is not working.
My main question is: The W83977TF has support under
v1, but not v2 -
any tips on porting from one to the other?
I've done this already. I'll push the code up in a few hours or so.
Its on a machine I don't have local access to right now. Its pretty
easy though just find an existing SuperIO in V2 copy over the
structure and replace the names and guts of the functions with the
stuff for the new SuperIO. The NSC chip that the Bitoworks IMS uses
would be a good example.
kind of debug output before RAM initialization?
I'm not sure where to
put my own debugging output into the code - just a "hello, I'm here" is
After I push up the p2b stuff, you can look at it. Its got some
debug output. The file you want to look at is auto.c. Thats the
first part of your mainboard config that is run.
looked like v2's configuration setup was a lot
easier to deal with, so I
started there. Would it be worth it to learn how v1 does things for
V2 totally. The only thing we are going to need V1 for is reference
of a working set of code.
The other outstanding issue coming down the pike is
that the machine has
all ECC RAM. Is ECC supported by v1 or v2, and if not by either, which
would make it easiest to add support? I'm assuming v2, but I'll try v1
if that would be easier.
Neither of the codebases support ECC for the 440BX. ECC is supported
by other chips in V2 though so we do have examples.
Can you run it in non-ECC (or scrape up some non-ECC Dimms) mode while
we debug and get some base functionality up?
Richard A. Smith