Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
[linux-2.6] / Documentation / i386 / usb-legacy-support.txt
1 USB Legacy support
2 ~~~~~~~~~~~~~~~~~~
3
4 Vojtech Pavlik <vojtech@suse.cz>, January 2004
5
6
7 Also known as "USB Keyboard" or "USB Mouse support" in the BIOS Setup is a
8 feature that allows one to use the USB mouse and keyboard as if they were
9 their classic PS/2 counterparts.  This means one can use an USB keyboard to
10 type in LILO for example.
11
12 It has several drawbacks, though:
13
14 1) On some machines, the emulated PS/2 mouse takes over even when no USB
15    mouse is present and a real PS/2 mouse is present.  In that case the extra
16    features (wheel, extra buttons, touchpad mode) of the real PS/2 mouse may
17    not be available.
18
19 2) If CONFIG_HIGHMEM64G is enabled, the PS/2 mouse emulation can cause
20    system crashes, because the SMM BIOS is not expecting to be in PAE mode.
21    The Intel E7505 is a typical machine where this happens.
22
23 3) If AMD64 64-bit mode is enabled, again system crashes often happen,
24    because the SMM BIOS isn't expecting the CPU to be in 64-bit mode.  The
25    BIOS manufacturers only test with Windows, and Windows doesn't do 64-bit
26    yet.
27
28 Solutions:
29
30 Problem 1) can be solved by loading the USB drivers prior to loading the
31 PS/2 mouse driver. Since the PS/2 mouse driver is in 2.6 compiled into
32 the kernel unconditionally, this means the USB drivers need to be
33 compiled-in, too.
34
35 Problem 2) can currently only be solved by either disabling HIGHMEM64G
36 in the kernel config or USB Legacy support in the BIOS. A BIOS update
37 could help, but so far no such update exists.
38
39 Problem 3) is usually fixed by a BIOS update. Check the board
40 manufacturers web site. If an update is not available, disable USB
41 Legacy support in the BIOS. If this alone doesn't help, try also adding
42 idle=poll on the kernel command line. The BIOS may be entering the SMM
43 on the HLT instruction as well.
44