ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2
[linux-2.6.git] / include / asm-i386 / mach-default / mach_reboot.h
1 /*
2  *  arch/i386/mach-generic/mach_reboot.h
3  *
4  *  Machine specific reboot functions for generic.
5  *  Split out from reboot.c by Osamu Tomita <tomita@cinet.co.jp>
6  */
7 #ifndef _MACH_REBOOT_H
8 #define _MACH_REBOOT_H
9
10 static inline void kb_wait(void)
11 {
12         int i;
13
14         for (i = 0; i < 0x10000; i++)
15                 if ((inb_p(0x64) & 0x02) == 0)
16                         break;
17 }
18
19 static inline void mach_reboot(void)
20 {
21         int i;
22         for (i = 0; i < 100; i++) {
23                 kb_wait();
24                 udelay(50);
25                 outb(0xfe, 0x64);         /* pulse reset low */
26                 udelay(50);
27         }
28 }
29
30 #endif /* !_MACH_REBOOT_H */