• Truxton Fulton's avatar
    [PATCH] fix reboot via keyboard controller reset · 59f4e7d5
    Truxton Fulton authored
    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: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    59f4e7d5
mach_reboot.h 711 Bytes