x86 setup: a20: early timeout for a nonexistent keyboard controller
authorH. Peter Anvin <hpa@linux.intel.com>
Mon, 2 Feb 2009 22:52:00 +0000 (14:52 -0800)
committerH. Peter Anvin <hpa@linux.intel.com>
Mon, 2 Feb 2009 22:52:00 +0000 (14:52 -0800)
commit3bd323a1da42525317e2ce6c93b97b5ba653bc9d
tree8139baab8ed22cba923b73cca095f12706a3935b
parent042cbaf88ab48e11afb725541e3c2cbf5b483680
x86 setup: a20: early timeout for a nonexistent keyboard controller

When probing the keyboard controller to enable A20, if we get FF back
(which is *possible* as a valid status word, but is extremely
unlikely) then bail after much fewer iterations than we otherwise
would, and abort the attempt to access the KBC.

This hopefully should make it work a lot better for embedded platforms
which don't have a KBC and where the BIOS doesn't implement
INT 15h AX=2401h (and doesn't boot with A20 already enabled.)

If this works, it will be the one remaining use of CONFIG_X86_ELAN as
anything other than a processor type optimization option.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
arch/x86/boot/a20.c