android_kernel_xiaomi_sm8350/include/asm-i386/mach-default
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
..
apm.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
bios_ebda.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
do_timer.h [PATCH] x86: i8253/i8259A lock cleanup 2005-06-30 08:45:10 -07:00
entry_arch.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
io_ports.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irq_vectors_limits.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irq_vectors.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mach_apic.h [PATCH] Do not enforce unique IO_APIC_ID check for xAPIC systems (i386) 2005-06-23 09:45:09 -07:00
mach_apicdef.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mach_ipi.h [PATCH] i386: Dont use IPI broadcast when using cpu hotplug. 2005-06-25 16:24:29 -07:00
mach_mpparse.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mach_mpspec.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mach_reboot.h [PATCH] fix reboot via keyboard controller reset 2005-09-09 13:57:35 -07:00
mach_time.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mach_timer.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mach_traps.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mach_wakecpu.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci-functions.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
setup_arch_post.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
setup_arch_pre.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
smpboot_hooks.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00