diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-07-14 16:43:24 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-07-14 16:43:24 -0400 |
commit | a3da5bf84a97d48cfaf66c6842470fc403da5121 (patch) | |
tree | cdf66c0cff8c61eedd60601fc9dffdd1ed39b880 /Documentation/x86/i386/usb-legacy-support.txt | |
parent | 3b23e665b68387f5ee7b21f7b75ceea4d9acae4a (diff) | |
parent | d59fdcf2ac501de99c3dfb452af5e254d4342886 (diff) |
Merge branch 'x86/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'x86/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (821 commits)
x86: make 64bit hpet_set_mapping to use ioremap too, v2
x86: get x86_phys_bits early
x86: max_low_pfn_mapped fix #4
x86: change _node_to_cpumask_ptr to return const ptr
x86: I/O APIC: remove an IRQ2-mask hack
x86: fix numaq_tsc_disable calling
x86, e820: remove end_user_pfn
x86: max_low_pfn_mapped fix, #3
x86: max_low_pfn_mapped fix, #2
x86: max_low_pfn_mapped fix, #1
x86_64: fix delayed signals
x86: remove conflicting nx6325 and nx6125 quirks
x86: Recover timer_ack lost in the merge of the NMI watchdog
x86: I/O APIC: Never configure IRQ2
x86: L-APIC: Always fully configure IRQ0
x86: L-APIC: Set IRQ0 as edge-triggered
x86: merge dwarf2 headers
x86: use AS_CFI instead of UNWIND_INFO
x86: use ignore macro instead of hash comment
x86: use matching CFI_ENDPROC
...
Diffstat (limited to 'Documentation/x86/i386/usb-legacy-support.txt')
-rw-r--r-- | Documentation/x86/i386/usb-legacy-support.txt | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/Documentation/x86/i386/usb-legacy-support.txt b/Documentation/x86/i386/usb-legacy-support.txt new file mode 100644 index 000000000000..1894cdfc69d9 --- /dev/null +++ b/Documentation/x86/i386/usb-legacy-support.txt | |||
@@ -0,0 +1,44 @@ | |||
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 | |||