2 * arch/i386/mach-generic/mach_reboot.h
4 * Machine specific reboot functions for generic.
5 * Split out from reboot.c by Osamu Tomita <tomita@cinet.co.jp>
10 static inline void kb_wait(void)
14 for (i
= 0; i
< 0x10000; i
++)
15 if ((inb_p(0x64) & 0x02) == 0)
19 static inline void mach_reboot(void)
23 /* old method, works on most machines */
24 for (i
= 0; i
< 10; i
++) {
27 outb(0xfe, 0x64); /* pulse reset low */
31 /* New method: sets the "System flag" which, when set, indicates
32 * successful completion of the keyboard controller self-test (Basic
33 * Assurance Test, BAT). This is needed for some machines with no
34 * keyboard plugged in. This read-modify-write sequence sets only the
37 for (i
= 0; i
< 10; i
++) {
40 outb(0x20, 0x64); /* read Controller Command Byte */
48 outb(0x60, 0x64); /* write Controller Command Byte */
52 outb(cmd
| 0x04, 0x60); /* set "System flag" */
56 outb(0xfe, 0x64); /* pulse reset low */
61 #endif /* !_MACH_REBOOT_H */