1menu "Kernel hacking" 2 3source "lib/Kconfig.debug" 4 5config STRICT_DEVMEM 6 bool "Filter access to /dev/mem" 7 depends on MMU 8 ---help--- 9 If this option is disabled, you allow userspace (root) access to all 10 of memory, including kernel and userspace memory. Accidental 11 access to this is obviously disastrous, but specific access can 12 be used by people debugging the kernel. 13 14 If this option is switched on, the /dev/mem file only allows 15 userspace access to memory mapped peripherals. 16 17 If in doubt, say Y. 18 19# RMK wants arm kernels compiled with frame pointers or stack unwinding. 20# If you know what you are doing and are willing to live without stack 21# traces, you can get a slightly smaller kernel by setting this option to 22# n, but then RMK will have to kill you ;). 23config FRAME_POINTER 24 bool 25 depends on !THUMB2_KERNEL 26 default y if !ARM_UNWIND || FUNCTION_GRAPH_TRACER 27 help 28 If you say N here, the resulting kernel will be slightly smaller and 29 faster. However, if neither FRAME_POINTER nor ARM_UNWIND are enabled, 30 when a problem occurs with the kernel, the information that is 31 reported is severely limited. 32 33config ARM_UNWIND 34 bool "Enable stack unwinding support (EXPERIMENTAL)" 35 depends on AEABI && EXPERIMENTAL 36 default y 37 help 38 This option enables stack unwinding support in the kernel 39 using the information automatically generated by the 40 compiler. The resulting kernel image is slightly bigger but 41 the performance is not affected. Currently, this feature 42 only works with EABI compilers. If unsure say Y. 43 44config OLD_MCOUNT 45 bool 46 depends on FUNCTION_TRACER && FRAME_POINTER 47 default y 48 49config DEBUG_USER 50 bool "Verbose user fault messages" 51 help 52 When a user program crashes due to an exception, the kernel can 53 print a brief message explaining what the problem was. This is 54 sometimes helpful for debugging but serves no purpose on a 55 production system. Most people should say N here. 56 57 In addition, you need to pass user_debug=N on the kernel command 58 line to enable this feature. N consists of the sum of: 59 60 1 - undefined instruction events 61 2 - system calls 62 4 - invalid data aborts 63 8 - SIGSEGV faults 64 16 - SIGBUS faults 65 66config DEBUG_ERRORS 67 bool "Verbose kernel error messages" 68 depends on DEBUG_KERNEL 69 help 70 This option controls verbose debugging information which can be 71 printed when the kernel detects an internal error. This debugging 72 information is useful to kernel hackers when tracking down problems, 73 but mostly meaningless to other people. It's safe to say Y unless 74 you are concerned with the code size or don't want to see these 75 messages. 76 77config DEBUG_STACK_USAGE 78 bool "Enable stack utilization instrumentation" 79 depends on DEBUG_KERNEL 80 help 81 Enables the display of the minimum amount of free stack which each 82 task has ever had available in the sysrq-T output. 83 84# These options are only for real kernel hackers who want to get their hands dirty. 85config DEBUG_LL 86 bool "Kernel low-level debugging functions" 87 depends on DEBUG_KERNEL 88 help 89 Say Y here to include definitions of printascii, printch, printhex 90 in the kernel. This is helpful if you are debugging code that 91 executes before the console is initialized. 92 93config EARLY_PRINTK 94 bool "Early printk" 95 depends on DEBUG_LL 96 help 97 Say Y here if you want to have an early console using the 98 kernel low-level debugging functions. Add earlyprintk to your 99 kernel parameters to enable this console. 100 101config DEBUG_ICEDCC 102 bool "Kernel low-level debugging via EmbeddedICE DCC channel" 103 depends on DEBUG_LL 104 help 105 Say Y here if you want the debug print routines to direct their 106 output to the EmbeddedICE macrocell's DCC channel using 107 co-processor 14. This is known to work on the ARM9 style ICE 108 channel and on the XScale with the PEEDI. 109 110 It does include a timeout to ensure that the system does not 111 totally freeze when there is nothing connected to read. 112 113config OC_ETM 114 bool "On-chip ETM and ETB" 115 select ARM_AMBA 116 help 117 Enables the on-chip embedded trace macrocell and embedded trace 118 buffer driver that will allow you to collect traces of the 119 kernel code. 120 121config DEBUG_DC21285_PORT 122 bool "Kernel low-level debugging messages via footbridge serial port" 123 depends on DEBUG_LL && FOOTBRIDGE 124 help 125 Say Y here if you want the debug print routines to direct their 126 output to the serial port in the DC21285 (Footbridge). Saying N 127 will cause the debug messages to appear on the first 16550 128 serial port. 129 130config DEBUG_CLPS711X_UART2 131 bool "Kernel low-level debugging messages via UART2" 132 depends on DEBUG_LL && ARCH_CLPS711X 133 help 134 Say Y here if you want the debug print routines to direct their 135 output to the second serial port on these devices. Saying N will 136 cause the debug messages to appear on the first serial port. 137 138config DEBUG_S3C_UART 139 depends on PLAT_SAMSUNG 140 int "S3C UART to use for low-level debug" 141 default "0" 142 help 143 Choice for UART for kernel low-level using S3C UARTS, 144 should be between zero and two. The port must have been 145 initialised by the boot-loader before use. 146 147 The uncompressor code port configuration is now handled 148 by CONFIG_S3C_LOWLEVEL_UART_PORT. 149 150endmenu 151