274f217fd46eb739d0f0e2945c97b7e7618cc07e
[akaros.git] / kern / arch / x86 / Kconfig
1 config X86
2         select 64BIT
3         def_bool y
4
5 config X86_64
6         def_bool 64BIT
7
8 menu "x86 Options"
9
10 config PCI_VERBOSE
11         bool "Verbose PCI Output"
12         default n
13         help
14                 Will print out extra information related to PCI.
15
16 config NOFASTCALL_FSBASE
17         depends on X86_64
18         bool "Disable fastcall to set FS base"
19         default n
20         help
21                 Disable the fast path syscall to set FS base.  If your hardware allows
22                 setting FS base from userspace, you can say y to disable the fastcall
23                 for a slight improvement for all syscalls.  If unsure, say n.
24
25 endmenu
26
27 menu "x86 Hacks"
28
29 config LOUSY_LAPIC_TIMER
30         bool "Lousy Local APIC Timer"
31         default n
32         help
33                 This turns our one-shot APIC timer into a periodic timer.  If your
34                 system seems to lock up until you hit the keyboard, say 'Y' here and
35                 report the results.
36
37                 Qemu without KVM had issues firing a one-shot LAPIC timer (the timer IRQ
38                 would only go off when some other IRQ fired), but it worked with a
39                 periodic tick.  Since we aggressively disarm the timer, this config
40                 shouldn't be a performance hit.
41
42 config NOMTRRS
43         bool "Disable MTRRs"
44         default y
45         help
46                 Old debug option from when we were having issues with MTRRs.  If your
47                 machine won't boot, try turning this on.
48
49 config KB_CORE0_ONLY
50         bool "Keyboard from core0 only"
51         default n
52         help
53                 Say 'n' unless you are using a buggy x86 machine that can't handle
54                 polling the keyboard PIO from cores other than core 0.
55
56 config X86_DISABLE_KEYBOARD
57         bool "Disable Keyboard"
58         default n
59         help
60                 x86 machines with a legacy USB keyboard often implement the USB stack
61                 in SMM mode.  When doing anything with the keyboard, including polling
62                 the keyboard from the kernel monitor, SMM mode can dramatically
63                 interfere with other cores (like a 10-15x performance impact on some
64                 benchmarks).
65                 
66                 Say 'y' if you have such a machine and do not need the keyboard.
67
68 config ENABLE_LEGACY_USB
69         bool "Enable Legacy USB"
70         default n
71         help
72                 Say 'y' if you want to use a USB keyboard.  Given that we do not have a
73                 USB stack, disabling legacy USB means USB keyboards will not work.  We
74                 disable legacy USB by default, since our primary console communication
75                 is serial, and legacy USB support results in SMM interference that
76                 affects all cores.
77
78 endmenu