linux/include
Truxton Fulton 59f4e7d572 [PATCH] fix reboot via keyboard controller reset
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>
2005-09-09 13:57:35 -07:00
..
acpi [ACPI] ACPICA 20050902 2005-09-03 00:15:11 -04:00
asm-alpha [PATCH] Make sparc64 use setup-res.c 2005-09-08 14:57:25 -07:00
asm-arm Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2005-09-08 15:55:23 -07:00
asm-arm26 [PATCH] Clean up struct flock64 definitions 2005-09-07 16:57:38 -07:00
asm-cris [PATCH] Clean up struct flock64 definitions 2005-09-07 16:57:38 -07:00
asm-frv [PATCH] Clean up struct flock64 definitions 2005-09-07 16:57:38 -07:00
asm-generic [PATCH] Make sparc64 use setup-res.c 2005-09-08 14:57:25 -07:00
asm-h8300 [PATCH] Clean up struct flock64 definitions 2005-09-07 16:57:38 -07:00
asm-i386 [PATCH] fix reboot via keyboard controller reset 2005-09-09 13:57:35 -07:00
asm-ia64 [PATCH] Prefetch kernel stacks to speed up context switch 2005-09-09 13:57:31 -07:00
asm-m32r [PATCH] Clean up struct flock64 definitions 2005-09-07 16:57:38 -07:00
asm-m68k [PATCH] Clean up struct flock64 definitions 2005-09-07 16:57:38 -07:00
asm-m68knommu [PATCH] m68knommu: include ColdFire 523x processor register definitions 2005-09-08 17:27:37 -07:00
asm-mips [PATCH] remove unnecessary handle_IRQ_event() prototypes 2005-09-09 13:57:33 -07:00
asm-parisc [PATCH] Make sparc64 use setup-res.c 2005-09-08 14:57:25 -07:00
asm-powerpc [PATCH] powerpc: Fix __power64__ typos that should be __powerpc64__ 2005-09-09 22:11:35 +10:00
asm-ppc [PATCH] remove unnecessary handle_IRQ_event() prototypes 2005-09-09 13:57:33 -07:00
asm-ppc64 Merge master.kernel.org:/pub/scm/linux/kernel/git/paulus/ppc64-2.6 2005-09-09 10:38:02 -07:00
asm-s390 [PATCH] Clean up struct flock64 definitions 2005-09-07 16:57:38 -07:00
asm-sh [PATCH] remove unnecessary handle_IRQ_event() prototypes 2005-09-09 13:57:33 -07:00
asm-sh64 [PATCH] Clean up struct flock64 definitions 2005-09-07 16:57:38 -07:00
asm-sparc [PATCH] Clean up struct flock64 definitions 2005-09-07 16:57:38 -07:00
asm-sparc64 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2005-09-08 15:55:23 -07:00
asm-um [PATCH] remove asm-*/hdreg.h 2005-09-07 16:57:30 -07:00
asm-v850 [PATCH] Clean up struct flock64 definitions 2005-09-07 16:57:38 -07:00
asm-x86_64 [PATCH] remove unnecessary handle_IRQ_event() prototypes 2005-09-09 13:57:33 -07:00
asm-xtensa [PATCH] Clean up struct flock64 definitions 2005-09-07 16:57:38 -07:00
linux [PATCH] bfs: fix endianness, signedness; add trivial bugfix 2005-09-09 13:57:32 -07:00
math-emu
media [PATCH] I2C: Kill i2c_algorithm.id (6/7) 2005-09-05 09:14:32 -07:00
mtd
net [AX.25]: Make asc2ax() thread-proof 2005-09-08 13:40:41 -07:00
pcmcia [PATCH] pcmcia: fix pcmcia-cs compilation 2005-07-12 16:00:59 -07:00
rdma [PATCH] IB: move include files to include/rdma 2005-08-26 20:37:38 -07:00
rxrpc
scsi Merge by hand (conflicts in sd.c) 2005-09-06 17:52:54 -05:00
sound Merge branch 'upstream' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6 2005-09-07 17:28:25 -07:00
video [PATCH] w100fb: Rewrite for platform independence 2005-09-07 16:57:53 -07:00