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