Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 */ |