* [PATCH] : fix reboot via keyboard controller reset
@ 2005-08-23 6:39 Truxton Fulton
0 siblings, 0 replies; only message in thread
From: Truxton Fulton @ 2005-08-23 6:39 UTC (permalink / raw)
To: LKML, Linus Torvalds, Ingo Molnar
Hi,
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).
Here is a patch against include/asm-i386/mach-default/mach_reboot.h :
--- mach_reboot.h.orig 2005-08-22 22:23:13.000000000 -0700
+++ mach_reboot.h 2005-08-22 23:18:36.000000000 -0700
@@ -22,6 +22,14 @@
for (i = 0; i < 100; i++) {
kb_wait();
udelay(50);
+ outb(0x60, 0x64); /* write Controller Command Byte */
+ udelay(50);
+ kb_wait();
+ udelay(50);
+ outb(0x14, 0x60); /* set "System flag" */
+ udelay(50);
+ kb_wait();
+ udelay(50);
outb(0xfe, 0x64); /* pulse reset low */
udelay(50);
}
Thanks,
-Truxton
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2005-08-23 6:39 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-08-23 6:39 [PATCH] : fix reboot via keyboard controller reset Truxton Fulton
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome