Map PTEs for MAP_SHARED | MAP_LOCKED files on fork
[akaros.git] / kern / arch / x86 / Kconfig
index bc112c4..7deab97 100644 (file)
@@ -1,9 +1,7 @@
 config X86
+       select 64BIT
        def_bool y
 
-config X86_32
-       def_bool !64BIT
-
 config X86_64
        def_bool 64BIT
 
@@ -28,19 +26,32 @@ endmenu
 
 menu "x86 Hacks"
 
-config NOMTRRS
-       bool "Disable MTRRs"
+config POLL_CONSOLE
+       bool "Poll Console Devices"
        default n
        help
-               Old debug option from when we were having issues with MTRRs.  If your
-               machine won't boot, try turning this on.
+               On some boards, we have trouble getting the serial IRQ.  This will
+               spawn ktasks for all console devices that poll every 10ms.  
 
-config ENABLE_MPTABLES
-       bool "Enable MP Tables"
+config LOUSY_LAPIC_TIMER
+       bool "Lousy Local APIC Timer"
        default n
        help
-               Turns on basic MP tables support.  If you want to route IRQs, you'll
-               need this, until we get around to parsing ACPI tables.
+               This turns our one-shot APIC timer into a periodic timer.  If your
+               system seems to lock up until you hit the keyboard, say 'Y' here and
+               report the results.
+
+               Qemu without KVM had issues firing a one-shot LAPIC timer (the timer IRQ
+               would only go off when some other IRQ fired), but it worked with a
+               periodic tick.  Since we aggressively disarm the timer, this config
+               shouldn't be a performance hit.
+
+config NOMTRRS
+       bool "Disable MTRRs"
+       default y
+       help
+               Old debug option from when we were having issues with MTRRs.  If your
+               machine won't boot, try turning this on.
 
 config KB_CORE0_ONLY
        bool "Keyboard from core0 only"
@@ -49,4 +60,26 @@ config KB_CORE0_ONLY
                Say 'n' unless you are using a buggy x86 machine that can't handle
                polling the keyboard PIO from cores other than core 0.
 
+config X86_DISABLE_KEYBOARD
+       bool "Disable Keyboard"
+       default n
+       help
+               x86 machines with a legacy USB keyboard often implement the USB stack
+               in SMM mode.  When doing anything with the keyboard, including polling
+               the keyboard from the kernel monitor, SMM mode can dramatically
+               interfere with other cores (like a 10-15x performance impact on some
+               benchmarks).
+               
+               Say 'y' if you have such a machine and do not need the keyboard.
+
+config ENABLE_LEGACY_USB
+       bool "Enable Legacy USB"
+       default n
+       help
+               Say 'y' if you want to use a USB keyboard.  Given that we do not have a
+               USB stack, disabling legacy USB means USB keyboards will not work.  We
+               disable legacy USB by default, since our primary console communication
+               is serial, and legacy USB support results in SMM interference that
+               affects all cores.
+
 endmenu