| config X86 | 
 | 	select 64BIT | 
 | 	def_bool y | 
 |  | 
 | config X86_64 | 
 | 	def_bool 64BIT | 
 |  | 
 | menu "x86 Options" | 
 |  | 
 | config PCI_VERBOSE | 
 | 	bool "Verbose PCI Output" | 
 | 	default n | 
 | 	help | 
 | 		Will print out extra information related to PCI. | 
 |  | 
 | config NOFASTCALL_FSBASE | 
 | 	depends on X86_64 | 
 | 	bool "Disable fastcall to set FS base" | 
 | 	default n | 
 | 	help | 
 | 		Disable the fast path syscall to set FS base.  If your hardware allows | 
 | 		setting FS base from userspace, you can say y to disable the fastcall | 
 | 		for a slight improvement for all syscalls.  If unsure, say n. | 
 |  | 
 | endmenu | 
 |  | 
 | menu "x86 Hacks" | 
 |  | 
 | config LOUSY_LAPIC_TIMER | 
 | 	bool "Lousy Local APIC Timer" | 
 | 	default n | 
 | 	help | 
 | 		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" | 
 | 	default n | 
 | 	help | 
 | 		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 |