I just tested the mptable utility. There is a bit of a hack in there for IOAPICs, but it basically does the right thing for the supermicro p4dpe I'm working with.
So the most recent, tested on one motherboard version, is now committed.
It generates C code that looks identical (mostly) to the mptable.c code in other directories.
ron
I have been trying to bring up linuxbios on the m787cl+ motherboard and can't get very far. This has the sis630e chipset and I used the m758 configuration as a start. The boot fails at the copy of linuxbios from rom to ram. Fortunately the serial port works and I put in some tests and basically it acts like ram is not there. An additional odd result is that it resets after about 5-10 seconds on a regular beat as if there is a watchdog timer or something.
Anyone have any ideas?
-Steve
On Thu, 19 Sep 2002, Steve M. Gehlbach wrote:
I have been trying to bring up linuxbios on the m787cl+ motherboard and can't get very far. This has the sis630e chipset and I used the m758 configuration as a start. The boot fails at the copy of linuxbios from rom to ram. Fortunately the serial port works and I put in some tests and basically it acts like ram is not there. An additional odd result is that it resets after about 5-10 seconds on a regular beat as if there is a watchdog timer or something.
I think you need to run a user-mode SPD reading program under Linux under normal bios and make sure SPD bus is readable. Some vendors have two I2C busses on their motherboard and you have to do something special to get to SPD (e.g. ASUS).
Check out the watchdog disable code. Some motherboards wire up the 630 watchdog, others do not. In particular, the MS7308E has a watchdog timer connected up and the mainboard code turns it off.
ron
I think you need to run a user-mode SPD reading program under Linux under normal bios and make sure SPD bus is readable. Some vendors have two I2C busses on their motherboard and you have to do something special to get to SPD (e.g. ASUS).
Check out the watchdog disable code. Some motherboards wire up the 630 watchdog, others do not. In particular, the MS7308E has a watchdog timer connected up and the mainboard code turns it off.
Yes, thanks, the code in ipl.S was not being included, which reads the spds and does some other important chipset setup for the sis630. This code is a little odd when booting from flash, since it is (apparently) setup to run in real mode at a hardcoded address in flash, prior to the rest of the startup code. I changed it to run in 32-bit mode and put it in the .inc stack after the console setup and now the motherboard works.
-Steve