x86: irq handler func pointers
[akaros.git] / kern / arch / x86 / Kconfig
1 config X86
2         def_bool y
3
4 config X86_32
5         def_bool !64BIT
6
7 config X86_64
8         def_bool 64BIT
9
10 menu "x86 Options"
11
12 config PCI_VERBOSE
13         bool "Verbose PCI Output"
14         default n
15         help
16                 Will print out extra information related to PCI.
17
18 config NOFASTCALL_FSBASE
19         depends on X86_64
20         bool "Disable fastcall to set FS base"
21         default n
22         help
23                 Disable the fast path syscall to set FS base.  If your hardware allows
24                 setting FS base from userspace, you can say y to disable the fastcall
25                 for a slight improvement for all syscalls.  If unsure, say n.
26
27 config FAST_COREID
28         bool "Fast core_id() via rdtscp"
29         default n
30         help
31                 Uses rdtscp for a faster core_id() call.  Requires a relatively recent
32                 microarchitecture (Nehalem).  Also, in my experience, qemu's support
33                 for rdtscp on some machines is a little lacking, so don't be surprised
34                 if it doesn't work when virtualized.  Say n if you are unsure.
35
36 endmenu
37
38 menu "x86 Hacks"
39
40 config LOUSY_LAPIC_TIMER
41         bool "Lousy Local APIC Timer"
42         default n
43         help
44                 This turns our one-shot APIC timer into a periodic timer.  If your
45                 system seems to lock up until you hit the keyboard, say 'Y' here and
46                 report the results.
47
48                 Qemu without KVM had issues firing a one-shot LAPIC timer (the timer IRQ
49                 would only go off when some other IRQ fired), but it worked with a
50                 periodic tick.  Since we aggressively disarm the timer, this config
51                 shouldn't be a performance hit.
52
53 config NOMTRRS
54         bool "Disable MTRRs"
55         default n
56         help
57                 Old debug option from when we were having issues with MTRRs.  If your
58                 machine won't boot, try turning this on.
59
60 config ENABLE_MPTABLES
61         bool "Enable MP Tables"
62         default n
63         help
64                 Turns on basic MP tables support.  If you want to route IRQs, you'll
65                 need this, until we get around to parsing ACPI tables.
66
67 config KB_CORE0_ONLY
68         bool "Keyboard from core0 only"
69         default n
70         help
71                 Say 'n' unless you are using a buggy x86 machine that can't handle
72                 polling the keyboard PIO from cores other than core 0.
73
74 config X86_DISABLE_KEYBOARD
75         bool "Disable Keyboard"
76         default n
77         help
78                 x86 machines with a legacy USB keyboard often implement the USB stack
79                 in SMM mode.  When doing anything with the keyboard, including polling
80                 the keyboard from the kernel monitor, SMM mode can dramatically
81                 interfere with other cores (like a 10-15x performance impact on some
82                 benchmarks).
83                 
84                 Say 'y' if you have such a machine and do not need the keyboard.
85
86 endmenu