What linux seems to be tending to for reset is to set the watchdog timer, and then just sit there tapping your toes until it times out and resets the machine. If we can get WDT support for the 630 hardware in, that would be the way to do it.
ron
Good idea, I tried it with a little test code, and the wdt reset definitely works. I guess what is needed is a driver, since I did not see any support for the sis630 wdt in drivers/char.
I'll probably go with my 2 line patch for now, since it does a perfect reset, without toe tapping, and maybe someday SiS can write a driver to support the chip. I may do it at some point if my code otherwise needs it, and it may, but it is too much of an investment of time just for the reset.
Thanks for the help.
-Steve
PS: if anyone is interested the patch to 2.4.19 is pretty simple, put in before the triple fault:
diff arch/i386/kernel/process.c arch/i386/kernel/process.c.orig 416,421d415 < < // S. Gehlbach: 3-fault doesn't work for SiS630/C3, < // so reset via the SiS630 ISA Bridge 0xc0 -> reg 0x46 < outl(0x80000844,0xCF8); < outb(0xc0, 0xCFE); <