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