1 2menu "Debugging Options" 3 4config DEBUG 5 bool "Developer Checks" 6 default n 7 ---help--- 8 If you say Y here this will enable developer checks such as asserts 9 and extra printks. This option is intended for development purposes 10 only, and not for production use. 11 12 You probably want to say 'N' here. 13 14if DEBUG || EXPERT 15 16config CRASH_DEBUG 17 bool "Crash Debugging Support" 18 depends on X86 19 ---help--- 20 If you want to attach gdb to Xen to debug Xen if it crashes 21 then say Y. 22 23config GDBSX 24 bool "Guest debugging with gdbsx" 25 depends on X86 26 default y 27 ---help--- 28 If you want to enable support for debugging guests from dom0 via 29 gdbsx then say Y. 30 31config DEBUG_INFO 32 bool "Compile Xen with debug info" 33 default y 34 ---help--- 35 If you say Y here the resulting Xen will include debugging info 36 resulting in a larger binary image. 37 38config FRAME_POINTER 39 bool "Compile Xen with frame pointers" 40 default DEBUG 41 ---help--- 42 If you say Y here the resulting Xen will be slightly larger and 43 maybe slower, but it gives very useful debugging information 44 in case of any Xen bugs. 45 46config COVERAGE 47 bool "Code coverage support" 48 depends on !LIVEPATCH 49 select SUPPRESS_DUPLICATE_SYMBOL_WARNINGS if !ENFORCE_UNIQUE_SYMBOLS 50 ---help--- 51 Enable code coverage support. 52 53 If unsure, say N here. 54 55config DEBUG_LOCK_PROFILE 56 bool "Lock Profiling" 57 select DEBUG_LOCKS 58 ---help--- 59 Lock profiling allows you to see how often locks are taken and blocked. 60 You can use serial console to print (and reset) using 'l' and 'L' 61 respectively, or the 'xenlockprof' tool. 62 63config DEBUG_LOCKS 64 bool "Lock debugging" 65 default DEBUG 66 ---help--- 67 Enable debugging features of lock handling. Some additional 68 checks will be performed when acquiring and releasing locks. 69 70config PERF_COUNTERS 71 bool "Performance Counters" 72 ---help--- 73 Enables software performance counters that allows you to analyze 74 bottlenecks in the system. To access this data you can use serial 75 console to print (and reset) using 'p' and 'P' respectively, or 76 the 'xenperf' tool. 77 78config PERF_ARRAYS 79 bool "Performance Counter Array Histograms" 80 depends on PERF_COUNTERS 81 ---help--- 82 Enables software performance counter array histograms. 83 84 85config VERBOSE_DEBUG 86 bool "Verbose debug messages" 87 default DEBUG 88 ---help--- 89 Guest output from HYPERVISOR_console_io and hypervisor parsing 90 ELF images (dom0) will be logged in the Xen ring buffer. 91 92config DEVICE_TREE_DEBUG 93 bool "Device tree debug messages" 94 depends on HAS_DEVICE_TREE 95 ---help--- 96 Device tree parsing and DOM0 device tree building messages are 97 logged in the Xen ring buffer. 98 If unsure, say N here. 99 100config SCRUB_DEBUG 101 bool "Page scrubbing test" 102 default DEBUG 103 ---help--- 104 Verify that pages that need to be scrubbed before being allocated to 105 a guest are indeed scrubbed. 106 107config UBSAN 108 bool "Undefined behaviour sanitizer" 109 depends on HAS_UBSAN 110 ---help--- 111 Enable undefined behaviour sanitizer. It uses compiler to insert code 112 snippets so that undefined behaviours in C are detected during runtime. 113 This requires a UBSAN capable compiler and it is a debug only feature. 114 115 If unsure, say N here. 116 117config DEBUG_TRACE 118 bool "Debug trace support" 119 ---help--- 120 Debug trace enables to record debug trace messages which are printed 121 either directly to the console or are printed to console in case of 122 a system crash. 123 124config XMEM_POOL_POISON 125 bool "Poison free xenpool blocks" 126 default DEBUG 127 ---help--- 128 Poison free blocks with 0xAA bytes and verify them when a block is 129 allocated in order to spot use-after-free issues. 130 131source "arch/$(SRCARCH)/Kconfig.debug" 132 133endif # DEBUG || EXPERT 134 135endmenu 136