x86: setup: issue a null command after enabling A20 via KBC
authorH. Peter Anvin <hpa@zytor.com>
Fri, 27 Jun 2008 20:23:00 +0000 (13:23 -0700)
committerH. Peter Anvin <hpa@zytor.com>
Fri, 27 Jun 2008 20:29:01 +0000 (13:29 -0700)
commitaa60d13fb04f6d5ce72e4da508a4048b934ebd24
tree85f58c1735c71f41579d942e9fdb15d86b15e0ad
parent23deb06821442506615f34bd92ccd6a2422629d7
x86: setup: issue a null command after enabling A20 via KBC

Apparently, DOS and possibly other legacy operating systems issued a
null command to the keyboard controller after toggling A20,
specifically "pulse output pins" with no output pins specified.  This
was presumably done for synchronization reasons.  This has made it
into at least the UHCI spec, and it has been found to cause
compatibility problems when "legacy USB" is enabled (which it almost
always is) to not have this byte sent.

It is *NOT* clear if any of these compatibility problems has any
effect on Linux.  However, for maximum compatibility, issue this null
command after togging A20 through the KBC.

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