linux/arch/x86/boot
H. Peter Anvin aa60d13fb0 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>
2008-06-27 13:29:01 -07:00
..
compressed x86: Honor 'quiet' command line option in real mode boot decompressor. 2008-05-30 17:00:47 -07:00
tools x86: add a crc32 checksum to the kernel image. 2008-04-17 17:40:46 +02:00
.gitignore Update .gitignore files 2008-04-25 12:27:32 -07:00
a20.c x86: setup: issue a null command after enabling A20 via KBC 2008-06-27 13:29:01 -07:00
apm.c x86: remove pointless comments 2008-04-19 19:19:54 +02:00
bitops.h x86: remove pointless comments 2008-04-19 19:19:54 +02:00
boot.h x86: remove pointless comments 2008-04-19 19:19:54 +02:00
cmdline.c x86: remove pointless comments 2008-04-19 19:19:54 +02:00
code16gcc.h i386: move boot 2007-10-11 11:16:45 +02:00
copy.S x86: remove pointless comments 2008-04-19 19:19:54 +02:00
cpu.c x86: Fix up silly i1586 boot message. 2008-05-28 10:34:12 -07:00
cpucheck.c x86: remove pointless comments 2008-04-19 19:19:54 +02:00
edd.c edd: add default mode CONFIG_EDD_OFF=n, override with edd={on,off} 2008-04-29 08:06:23 -07:00
header.S x86, boot: add linked list of struct setup_data 2008-04-26 21:34:42 +02:00
install.sh x86: remove pointless comments 2008-04-19 19:19:54 +02:00
main.c x86: Honor 'quiet' command line option in real mode boot decompressor. 2008-05-30 17:00:47 -07:00
Makefile x86: move suspend wakeup code to C 2008-04-17 17:41:37 +02:00
mca.c x86: remove pointless comments 2008-04-19 19:19:54 +02:00
memory.c x86: remove pointless comments 2008-04-19 19:19:54 +02:00
mkcpustr.c x86 setup: print missing CPU features in cleartext 2008-02-04 16:48:00 +01:00
mtools.conf.in i386: move boot 2007-10-11 11:16:45 +02:00
pm.c x86: remove pointless comments 2008-04-19 19:19:54 +02:00
pmjump.S x86: remove pointless comments 2008-04-19 19:19:54 +02:00
printf.c x86: fix integer as NULL pointer warning 2008-05-23 08:11:06 -07:00
setup.ld i386: move boot 2007-10-11 11:16:45 +02:00
string.c x86: remove pointless comments 2008-04-19 19:19:54 +02:00
tty.c x86: remove pointless comments 2008-04-19 19:19:54 +02:00
version.c x86: remove pointless comments 2008-04-19 19:19:54 +02:00
vesa.h x86-boot: don't request VBE2 information 2008-03-07 16:39:14 +01:00
video-bios.c x86: remove pointless comments 2008-04-19 19:19:54 +02:00
video-mode.c x86: move suspend wakeup code to C 2008-04-17 17:41:37 +02:00
video-vesa.c x86: remove pointless comments 2008-04-19 19:19:54 +02:00
video-vga.c x86: remove pointless comments 2008-04-19 19:19:54 +02:00
video.c x86: remove pointless comments 2008-04-19 19:19:54 +02:00
video.h x86: remove pointless comments 2008-04-19 19:19:54 +02:00
voyager.c x86: remove pointless comments 2008-04-19 19:19:54 +02:00