![]() I have a system (Biostar IDEQ210M mini-pc with a VIA chipset) which will not reboot unless a keyboard is plugged in to it. I have tried all combinations of the kernel "reboot=x,y" flags to no avail. Rebooting by any method will leave the system in a wedged state (at the "Restarting system" message). I finally tracked the problem down to the machine's refusal to fully reboot unless the keyboard controller status register had bit 2 set. This is the "System flag" which when set, indicates successful completion of the keyboard controller self-test (Basic Assurance Test, BAT). I suppose that something is trying to protect against sporadic reboots unless the keyboard controller is in a good state (a keyboard is present), but I need this machine to be headless. I found that setting the system flag (via the command byte) before giving the "pulse reset line" command will allow the reboot to proceed. The patch is simple, and I think it should be fine for everybody whether they have this type of machine or not. This affects the "hard" reboot (as done when the kernel boot flags "reboot=c,h" are used). Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> |
||
---|---|---|
.. | ||
apm.h | ||
bios_ebda.h | ||
do_timer.h | ||
entry_arch.h | ||
io_ports.h | ||
irq_vectors.h | ||
irq_vectors_limits.h | ||
mach_apic.h | ||
mach_apicdef.h | ||
mach_ipi.h | ||
mach_mpparse.h | ||
mach_mpspec.h | ||
mach_reboot.h | ||
mach_time.h | ||
mach_timer.h | ||
mach_traps.h | ||
mach_wakecpu.h | ||
pci-functions.h | ||
setup_arch_post.h | ||
setup_arch_pre.h | ||
smpboot_hooks.h |