Believe it or not, tried my old LinuxBIOS2.0.0 build using filo on a softboot (no power off, just reset) and found it booted into filo!
Seems it's stalling at raminit on cold boots. I have a diff of logs just in case anybody's curious.
Yes, please show us that log. I had a hand in bringing the 440BX ram init up to code. :P
src/mainboard/abit/be6-ii_v2_0/devicetree.cb src/mainboard/a-trend/atc-6220/devicetree.cb src/mainboard/azza/pt-6ibd/devicetree.cb
Using the abit/be6-ii_v2_0 target, stalled on INT10
Now this is where the fun starts, because I just accidentally flashed the ROM instead of the BIOS Saver device. ug.
Ouch. Is the BIOS chip socketed? Is there another machine you can use to hot flash the chip?
... attaching log
(snip)
Check CBFS header at fffffc9e magic is 4f524243 Found CBFS header at fffffc9e Check fallback/romstage CBFS: follow chain: fffc0000 + 38 + 347a + align -> fffc34c0 Check fallback/coreboot_ram CBFS: follow chain: fffc34c0 + 38 + 14264 + align -> fffd7780 Check fallback/payload CBFS: follow chain: fffd7780 + 38 + b5d8 + align -> fffe2dc0 Check CBFS: follow chain: fffe2dc0 + 28 + 1ceb6 + align -> fffffcc0 CBFS: Could not find file pci1102,0002.rom PCI: 00:0b.1 init Check CBFS header at fffffc9e magic is 4f524243 Found CBFS header at fffffc9e Check fallback/romstage CBFS: follow chain: fffc0000 + 38 + 347a + align -> fffc34c0 Check fallback/coreboot_ram CBFS: follow chain: fffc34c0 + 38 + 14264 + align -> fffd7780 Check fallback/payload CBFS: follow chain: fffd7780 + 38 + b5d8 + align -> fffe2dc0 Check CBFS: follow chain: fffe2dc0 + 28 + 1ceb6 + align -> fffffcc0 CBFS: Could not find file pci1102,7002.rom PCI: 00:0d.0 init Check CBFS header at fffffc9e magic is 4f524243 Found CBFS header at fffffc9e Check fallback/romstage CBFS: follow chain: fffc0000 + 38 + 347a + align -> fffc34c0 Check fallback/coreboot_ram CBFS: follow chain: fffc34c0 + 38 + 14264 + align -> fffd7780 Check fallback/payload CBFS: follow chain: fffd7780 + 38 + b5d8 + align -> fffe2dc0 Check CBFS: follow chain: fffe2dc0 + 28 + 1ceb6 + align -> fffffcc0 CBFS: Could not find file pci8086,1229.rom On card, ROM address for PCI: 00:0d.0 = f9200000 PCI expansion ROM, signature 0xaa55, INIT size 0x2800, data ptr 0x0040 PCI ROM image, vendor ID 8086, device ID 1229, PCI ROM image, Class Code 000002, Code Type 00 Class Code mismatch ROM 00000002, dev 00020000 Copying non-VGA ROM image from f9200000 to 000d0000, 0x2800 bytes Real mode stub @00000600: 606 bytes Calling Option ROM... Unknown INT10 function 0e0d! int10 call returned error. Unknown INT10 function 0e49! int10 call returned error. Unknown INT10 function 0e6e! int10 call returned error. Unknown INT10 function 0e69! int10 call returned error. Unknown INT10 function 0e74! int10 call returned error. Unknown INT10 function 0e69! int10 call returned error. Unknown INT10 function 0e61! int10 call returned error. Unknown INT10 function 0e6c! int10 call returned error. Unknown INT10 function 0e69! int10 call returned error. Unknown INT10 function 0e7a! int10 call returned error. Unknown INT10 function 0e69! int10 call returned error. Unknown INT10 function 0e6e! int10 call returned error. Unknown INT10 function 0e67! int10 call returned error. Unknown INT10 function 0e20! int10 call returned error. Unknown INT10 function 0e49! int10 call returned error. Unknown INT10 function 0e6e! int10 call returned error. Unknown INT10 function 0e74! int10 call returned error. Unknown INT10 function 0e65! int10 call returned error. Unknown INT10 function 0e6c! int10 call returned error. Unknown INT10 function 0e20! int10 call returned error. Unknown INT10 function 0e50! int10 call returned error. Unknown INT10 function 0e52! int10 call returned error. Unknown INT10 function 0e4f! int10 call returned error. Unknown INT10 function 0e2f! int10 call returned error. Unknown INT10 function 0e31! int10 call returned error. Unknown INT10 function 0e30! int10 call returned error. Unknown INT10 function 0e30! int10 call returned error. Unknown INT10 function 0e20! int10 call returned error. Unknown INT10 function 0e42! int10 call returned error. Unknown INT10 function 0e6f! int10 call returned error. Unknown INT10 function 0e6f! int10 call returned error. Unknown INT10 function 0e74! int10 call returned error. Unknown INT10 function 0e20! int10 call returned error. Unknown INT10 function 0e41! int10 call returned error. Unknown INT10 function 0e67! int10 call returned error. Unknown INT10 function 0e65! int10 call returned error. Unknown INT10 function 0e6e! int10 call returned error. Unknown INT10 function 0e74! int10 call returned error. Unknown INT10 function 0e20! int10 call returned error. Unknown INT10 function 0e56! int10 call returned error. Unknown INT10 function 0e65! int10 call returned error. Unknown INT10 function 0e72! int10 call returned error. Unknown INT10 function 0e73! int10 call returned error. Unknown INT10 function 0e69! int10 call returned error. Unknown INT10 function 0e6f! int10 call returned error. Unknown INT10 function 0e6e! int10 call returned error. Unknown INT10 function 0e20! int10 call returned error. Unknown INT10 function 0e32! int10 call returned error. Unknown INT10 function 0e2e! int10 call returned error. Unknown INT10 function 0e30! int10 call returned error. Unknown INT10 function 0e0d! int10 call returned error. Unknown INT10 function 0e0a! int10 call returned error. Unknown INT10 function 0e50! int10 call returned error. Unknown INT10 function 0e72! int10 call returned error. Unknown INT10 function 0e65! int10 call returned error. Unknown INT10 function 0e73! int10 call returned error. Unknown INT10 function 0e73! int10 call returned error. Unknown INT10 function 0e20! int10 call returned error. Unknown INT10 function 0e43! int10 call returned error. Unknown INT10 function 0e74! int10 call returned error. Unknown INT10 function 0e72! int10 call returned error. Unknown INT10 function 0e6c! int10 call returned error. Unknown INT10 function 0e2b! int10 call returned error. Unknown INT10 function 0e53! int10 call returned error. Unknown INT10 function 0e20! int10 call returned error. Unknown INT10 function 0e74! int10 call returned error. Unknown INT10 function 0e6f! int10 call returned error. Unknown INT10 function 0e20! int10 call returned error. Unknown INT10 function 0e65! int10 call returned error. Unknown INT10 function 0e6e! int10 call returned error. Unknown INT10 function 0e74! int10 call returned error. Unknown INT10 function 0e65! int10 call returned error. Unknown INT10 function 0e72! int10 call returned error. Unknown INT10 function 0e20! int10 call returned error. Unknown INT10 function 0e69! int10 call returned error. Unknown INT10 function 0e6e! int10 call returned error. Unknown INT10 function 0e74! int10 call returned error. Unknown INT10 function 0e6f! int10 call returned error. Unknown INT10 function 0e20! int10 call returned error. Unknown INT10 function 0e74! int10 call returned error. Unknown INT10 function 0e68! int10 call returned error. Unknown INT10 function 0e65! int10 call returned error. Unknown INT10 function 0e20! int10 call returned error. Unknown INT10 function 0e53! int10 call returned error. Unknown INT10 function 0e65! int10 call returned error. Unknown INT10 function 0e74! int10 call returned error. Unknown INT10 function 0e75! int10 call returned error. Unknown INT10 function 0e70! int10 call returned error. Unknown INT10 function 0e20! int10 call returned error. Unknown INT10 function 0e50! int10 call returned error. Unknown INT10 function 0e72! int10 call returned error. Unknown INT10 function 0e6f! int10 call returned error. Unknown INT10 function 0e67! int10 call returned error. Unknown INT10 function 0e72! int10 call returned error. Unknown INT10 function 0e61! int10 call returned error. Unknown INT10 function 0e6d! int10 call returned error. Unknown INT10 function 0e2e! int10 call returned error. Unknown INT10 function 0e2e! int10 call returned error.
Build a new image with SeaBIOS as the payload, and have SeaBIOS, not coreboot, run the VGA option ROM. The VGA BIOS is calling on some BIOS functions that coreboot does not provide. Who knows what will happen.
Maybe you can try starting off from ASUS P2B instead. Same hardware mostly, and some ACPI work was done on it recently and we got them to sort of work.
Hang in there! I'd love to see another 440BX board gaining support.
On Wed, Dec 29, 2010 at 09:51:55PM -0500, Keith Hui wrote:
Believe it or not, tried my old LinuxBIOS2.0.0 build using filo on a softboot (no power off, just reset) and found it booted into filo!
Seems it's stalling at raminit on cold boots. I have a diff of logs just in case anybody's curious.
Yes, please show us that log. I had a hand in bringing the 440BX ram init up to code. :P
OK. Since you asked for it. I'll email directly to you. When I diff the two logs, you can blatantly see lines 59, 64, 70, ... not identical between cold & warm boots. And, these lines correspond to the RAM chips initialization.
I'm thinking, as I think as it's been stated in the past 3+ years, get RAM init corrected and the rest of the hangs might likely resolve themselves.
src/mainboard/abit/be6-ii_v2_0/devicetree.cb src/mainboard/a-trend/atc-6220/devicetree.cb src/mainboard/azza/pt-6ibd/devicetree.cb
Using the abit/be6-ii_v2_0 target, stalled on INT10
Now this is where the fun starts, because I just accidentally flashed the ROM instead of the BIOS Saver device. ug.
Ouch. Is the BIOS chip socketed? Is there another machine you can use to hot flash the chip?
NP here. I had bios saver installed and just had to refresh myself on how it works. I yanked & stored the original 256K BIOS chips and replaced them with 256K purchased from Digikey. So I use the Digikey as repeatable burn targets and the bios saver chip for the manufacturers BIOS. So, when the Digikey burst into flames, I can just replace with another. Why wear-out the original part is what I'm thinking.
int10 call returned error. Unknown INT10 function 0e2e! int10 call returned error.
Build a new image with SeaBIOS as the payload, and have SeaBIOS, not coreboot, run the VGA option ROM. The VGA BIOS is calling on some BIOS functions that coreboot does not provide. Who knows what will happen.
I do have the prebuilt seabios payload. I'm troubled as to what "VGA option ROM" your speaking of. I'm thinking, the menu option concerning executing VGA ROM code. ... i'll fiddle with this and if something gives on a warm boot, I'll post to the list.
Maybe you can try starting off from ASUS P2B instead. Same hardware mostly, and some ACPI work was done on it recently and we got them to sort of work.
I believe one of the asus p2b one(s) is the template I used to get LinuxBIOS 2.0.0 working to boot into filo recently on a warm boot. Albeit, I likely swiped the source tree since years ago, but I do have a working bios image here. As to which ASUS P2B board it was, I can't recall.
Hang in there! I'd love to see another 440BX board gaining support.
I also have a BIOS post card installed, but I don't think I need this at the point I'm at correct? Is there anything else I can learn/look/research into on this code? From what I see at this point, it's just comparing logging & reporting?
Forgot to attach, however, I'll post the first few lines of a diff for others to look at as well.
59,60c59,60 < 00: 86 80 90 71 06 00 10 22 03 00 00 06 00 20 00 00 < 10: 08 00 00 e0 00 00 00 00 00 00 00 00 00 00 00 00 ---
00: 86 80 90 71 06 00 10 22 03 00 00 06 00 00 00 00 10: 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
64,68c64,68 < 50: 0c 8a 00 ef 00 00 00 09 03 10 11 11 13 00 00 00 < 60: 10 10 18 20 30 30 30 30 00 23 40 f7 a3 e0 00 00 < 70: 20 1f 0a 78 52 02 03 01 27 ff 10 38 00 00 00 00 < 80: 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 < 90: 98 88 00 00 04 61 00 00 00 05 00 00 00 00 00 00 ---
50: 04 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 60: 01 01 01 01 01 01 01 01 00 00 00 00 00 00 00 00 70: 00 1f 02 38 00 00 00 00 00 00 00 38 00 00 00 00 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 90: 80 00 00 00 04 61 00 00 00 05 00 00 00 00 00 00
70,71c70,71 < b0: 80 20 00 00 30 00 00 00 00 00 53 16 20 10 00 00 < c0: 00 00 00 00 00 00 00 00 18 0c ff ff 79 00 00 00 ---
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c0: 00 00 00 00 00 00 00 00 18 0c 00 00 00 00 00 00
73,74c73,74 < e0: 4c ad ff bb 8a 3e 00 80 2c d3 f7 cf 9d 3e 00 00 < f0: 40 01 00 00 00 f8 00 60 20 0f 00 00 00 00 00 00 ---
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f0: 00 00 00 00 00 f8 00 00 20 0f 00 00 00 00 00 00
93,94c93,94 < 00: 86 80 90 71 06 00 10 22 03 00 00 06 00 20 00 00 < 10: 08 00 00 e0 00 00 00 00 00 00 00 00 00 00 00 00 ---
00: 86 80 90 71 06 00 10 22 03 00 00 06 00 00 00 00 10: 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
100,102c100,102 < 70: 20 1f 0a 78 52 02 00 00 00 1d 10 38 10 00 00 00 < 80: 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 < 90: 98 88 00 00 04 61 00 00 00 05 00 00 00 00 00 00 ---
70: 00 1f 02 38 52 02 00 00 00 1d 10 38 10 00 00 00 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 90: 80 00 00 00 04 61 00 00 00 05 00 00 00 00 00 00
104c104 < b0: 80 20 00 00 30 00 00 00 00 00 53 16 20 10 00 00 ---
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
I've got Boot! ... But ...
Using the ASUS P2B only on a warm boot, and I deselected some Run non-VGA option Roms:
[*] Run VGA option ROMs [ ] Run non-VGA option ROMs
I'm attaching the warmboot log, and then a cold boot log (again, the cold boot fails at raminit). (I'm also attaching .config for kicks for anybody browsing the lists.)
When I'm booted, I get a constant reboot after loading SeaBIOS. Pressing F12 quickly doesn't show any boot options. Likely because I've disabled the "Run non-VGA option ROMs"?
Think I'll take a break for the night and read a few of the "Intel® 64 and IA-32 Architectures Software Developer's Manuals" hosted at: http://www.intel.com/products/processor/manuals/
(From what Keith just wrote just prior to this email, I need to read some raminit code comments and get some memory stick config dumps.)
On Wed, Dec 29, 2010 at 11:01:37PM -0900, Roger wrote:
I've got Boot! ... But ...
Using the ASUS P2B only on a warm boot, and I deselected some Run non-VGA option Roms:
[*] Run VGA option ROMs [ ] Run non-VGA option ROMs
For best results, disable both of these options.
I'm attaching the warmboot log, and then a cold boot log (again, the cold boot fails at raminit). (I'm also attaching .config for kicks for anybody browsing the lists.)
When I'm booted, I get a constant reboot after loading SeaBIOS. Pressing F12 quickly doesn't show any boot options. Likely because I've disabled the "Run non-VGA option ROMs"?
SeaBIOS runs all the option roms directly.
[...]
CBFS: Could not find file pci10de,0253.rom On card, ROM address for PCI: 01:00.0 = f9000000 PCI expansion ROM, signature 0xaa55, INIT size 0xf000, data ptr 0x0104 PCI ROM image, vendor ID 10de, device ID 0253, PCI ROM image, Class Code 030000, Code Type 00 Copying VGA ROM Image from f9000000 to 0xc0000, 0xf000 bytes Real mode stub @00000600: 606 bytes Calling Option ROM... Oops, exception 8 while executing option rom ... Option ROM returned.
Coreboot is still having issues running the vga rom.
[...]
Writing high table forward entry at 0x00000500 Wrote coreboot table at: 00000500 - 00000518 checksum 17df
[...]
Start bios (version 0.6.1-20100913_130029-morn.localdomain) Unable to find coreboot table! Found CBFS header at 0xfffffc9e Ram Size=0x01000000 (0x0000000000000000 high)
Not being able to find the coreboot table is an odd error - it needs to be fixed as it results in incorrect memory sizing.
[...]
Scan for VGA option rom Running option rom at c000:0003 Turning on vga text mode console
[...]
Scan for option roms Running option rom at cf00:0003 Running option rom at d000:0003
Here you can see SeaBIOS runs three option roms.
-Kevin
Attaching log of warm boot without VGA option ROMs.
On Thu, Dec 30, 2010 at 11:09:52AM -0500, Kevin O'Connor wrote:
On Wed, Dec 29, 2010 at 11:01:37PM -0900, Roger wrote:
I've got Boot! ... But ...
Using the ASUS P2B only on a warm boot, and I deselected some Run non-VGA option Roms:
[*] Run VGA option ROMs [ ] Run non-VGA option ROMs
For best results, disable both of these options.
I'm attaching the warmboot log, and then a cold boot log (again, the cold boot fails at raminit). (I'm also attaching .config for kicks for anybody browsing the lists.)
When I'm booted, I get a constant reboot after loading SeaBIOS. Pressing F12 quickly doesn't show any boot options. Likely because I've disabled the "Run non-VGA option ROMs"?
SeaBIOS runs all the option roms directly.
I'm using the prebuilt SeaBIOS.
I disabled the "Run VGA option ROMs" and now the lcd/vga display isn't initialized at all. Guess SeaBIOS isn't executing the VGA ROM?
[...]
CBFS: Could not find file pci10de,0253.rom On card, ROM address for PCI: 01:00.0 = f9000000 PCI expansion ROM, signature 0xaa55, INIT size 0xf000, data ptr 0x0104 PCI ROM image, vendor ID 10de, device ID 0253, PCI ROM image, Class Code 030000, Code Type 00 Copying VGA ROM Image from f9000000 to 0xc0000, 0xf000 bytes Real mode stub @00000600: 606 bytes Calling Option ROM... Oops, exception 8 while executing option rom ... Option ROM returned.
Coreboot is still having issues running the vga rom.
[...]
Writing high table forward entry at 0x00000500 Wrote coreboot table at: 00000500 - 00000518 checksum 17df
[...]
Start bios (version 0.6.1-20100913_130029-morn.localdomain) Unable to find coreboot table! Found CBFS header at 0xfffffc9e Ram Size=0x01000000 (0x0000000000000000 high)
Not being able to find the coreboot table is an odd error - it needs to be fixed as it results in incorrect memory sizing.
I'm searching the code and am confused what the coreboot table (ie. lb_table) exactly is and why it wouldn't be found. But I'm guessing that this is relative to the raminit issues with the 440BX board, correct? Especially since you mentioned it's an odd issue.
[...]
Scan for VGA option rom Running option rom at c000:0003 Turning on vga text mode console
[...]
Scan for option roms Running option rom at cf00:0003 Running option rom at d000:0003
Here you can see SeaBIOS runs three option roms.
-Kevin
On Thu, Dec 30, 2010 at 11:42:43AM -0900, Roger wrote:
On Thu, Dec 30, 2010 at 11:09:52AM -0500, Kevin O'Connor wrote:
SeaBIOS runs all the option roms directly.
I'm using the prebuilt SeaBIOS.
I disabled the "Run VGA option ROMs" and now the lcd/vga display isn't initialized at all. Guess SeaBIOS isn't executing the VGA ROM?
It tried to, but ran into an error:
Scan for VGA option rom Found option rom with bad checksum: loc=0x000c0000 len=61440 sum=42
You could try compiling seabios with CONFIG_DEBUG_LEVEL set to 8. (See http://www.coreboot.org/SeaBIOS .)
Writing high table forward entry at 0x00000500 Wrote coreboot table at: 00000500 - 00000518 checksum 17df
[...]
Start bios (version 0.6.1-20100913_130029-morn.localdomain) Unable to find coreboot table! Found CBFS header at 0xfffffc9e Ram Size=0x01000000 (0x0000000000000000 high)
Not being able to find the coreboot table is an odd error - it needs to be fixed as it results in incorrect memory sizing.
I'm searching the code and am confused what the coreboot table (ie. lb_table) exactly is and why it wouldn't be found. But I'm guessing that this is relative to the raminit issues with the 440BX board, correct? Especially since you mentioned it's an odd issue.
The coreboot table conveys critical information (like memory layout) to the payload. It's really odd that it gets written at 0x500 and then lost. Maybe you're still having memory controller issues. If so, you'll need to fix that before trying to fix anything else.
-Kevin