On 7/28/06, Don Waugaman dpw@email.cs.arizona.edu wrote:
Hi all,
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 copied the 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 this project?
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?