11da177e4SLinus Torvaldsmenu "Kernel hacking" 21da177e4SLinus Torvalds 31da177e4SLinus Torvaldssource "lib/Kconfig.debug" 41da177e4SLinus Torvalds 51da177e4SLinus Torvalds# RMK wants arm kernels compiled with frame pointers so hardwire this to y. 61da177e4SLinus Torvalds# If you know what you are doing and are willing to live without stack 71da177e4SLinus Torvalds# traces, you can get a slightly smaller kernel by setting this option to 81da177e4SLinus Torvalds# n, but then RMK will have to kill you ;). 91da177e4SLinus Torvaldsconfig FRAME_POINTER 101da177e4SLinus Torvalds bool 111da177e4SLinus Torvalds default y 121da177e4SLinus Torvalds help 131da177e4SLinus Torvalds If you say N here, the resulting kernel will be slightly smaller and 141da177e4SLinus Torvalds faster. However, when a problem occurs with the kernel, the 151da177e4SLinus Torvalds information that is reported is severely limited. Most people 161da177e4SLinus Torvalds should say Y here. 171da177e4SLinus Torvalds 181da177e4SLinus Torvaldsconfig DEBUG_USER 191da177e4SLinus Torvalds bool "Verbose user fault messages" 201da177e4SLinus Torvalds help 211da177e4SLinus Torvalds When a user program crashes due to an exception, the kernel can 221da177e4SLinus Torvalds print a brief message explaining what the problem was. This is 231da177e4SLinus Torvalds sometimes helpful for debugging but serves no purpose on a 241da177e4SLinus Torvalds production system. Most people should say N here. 251da177e4SLinus Torvalds 261da177e4SLinus Torvalds In addition, you need to pass user_debug=N on the kernel command 271da177e4SLinus Torvalds line to enable this feature. N consists of the sum of: 281da177e4SLinus Torvalds 291da177e4SLinus Torvalds 1 - undefined instruction events 301da177e4SLinus Torvalds 2 - system calls 311da177e4SLinus Torvalds 4 - invalid data aborts 321da177e4SLinus Torvalds 8 - SIGSEGV faults 331da177e4SLinus Torvalds 16 - SIGBUS faults 341da177e4SLinus Torvalds 351da177e4SLinus Torvaldsconfig DEBUG_ERRORS 361da177e4SLinus Torvalds bool "Verbose kernel error messages" 371da177e4SLinus Torvalds depends on DEBUG_KERNEL 381da177e4SLinus Torvalds help 391da177e4SLinus Torvalds This option controls verbose debugging information which can be 401da177e4SLinus Torvalds printed when the kernel detects an internal error. This debugging 411da177e4SLinus Torvalds information is useful to kernel hackers when tracking down problems, 421da177e4SLinus Torvalds but mostly meaningless to other people. It's safe to say Y unless 431da177e4SLinus Torvalds you are concerned with the code size or don't want to see these 441da177e4SLinus Torvalds messages. 451da177e4SLinus Torvalds 46*ddf4e42cSSascha Hauerconfig DEBUG_STACK_USAGE 47*ddf4e42cSSascha Hauer bool "Enable stack utilization instrumentation" 48*ddf4e42cSSascha Hauer depends on DEBUG_KERNEL 49*ddf4e42cSSascha Hauer help 50*ddf4e42cSSascha Hauer Enables the display of the minimum amount of free stack which each 51*ddf4e42cSSascha Hauer task has ever had available in the sysrq-T output. 521da177e4SLinus Torvalds 531da177e4SLinus Torvalds# These options are only for real kernel hackers who want to get their hands dirty. 541da177e4SLinus Torvaldsconfig DEBUG_LL 551da177e4SLinus Torvalds bool "Kernel low-level debugging functions" 561da177e4SLinus Torvalds depends on DEBUG_KERNEL 571da177e4SLinus Torvalds help 5835efb606SRussell King Say Y here to include definitions of printascii, printch, printhex 591da177e4SLinus Torvalds in the kernel. This is helpful if you are debugging code that 601da177e4SLinus Torvalds executes before the console is initialized. 611da177e4SLinus Torvalds 621da177e4SLinus Torvaldsconfig DEBUG_ICEDCC 631da177e4SLinus Torvalds bool "Kernel low-level debugging via EmbeddedICE DCC channel" 641da177e4SLinus Torvalds depends on DEBUG_LL 651da177e4SLinus Torvalds help 661da177e4SLinus Torvalds Say Y here if you want the debug print routines to direct their 671da177e4SLinus Torvalds output to the EmbeddedICE macrocell's DCC channel using 681da177e4SLinus Torvalds co-processor 14. This is known to work on the ARM9 style ICE 691da177e4SLinus Torvalds channel. 701da177e4SLinus Torvalds 711da177e4SLinus Torvalds It does include a timeout to ensure that the system does not 721da177e4SLinus Torvalds totally freeze when there is nothing connected to read. 731da177e4SLinus Torvalds 741da177e4SLinus Torvaldsconfig DEBUG_DC21285_PORT 751da177e4SLinus Torvalds bool "Kernel low-level debugging messages via footbridge serial port" 761da177e4SLinus Torvalds depends on DEBUG_LL && FOOTBRIDGE 771da177e4SLinus Torvalds help 781da177e4SLinus Torvalds Say Y here if you want the debug print routines to direct their 791da177e4SLinus Torvalds output to the serial port in the DC21285 (Footbridge). Saying N 801da177e4SLinus Torvalds will cause the debug messages to appear on the first 16550 811da177e4SLinus Torvalds serial port. 821da177e4SLinus Torvalds 831da177e4SLinus Torvaldsconfig DEBUG_CLPS711X_UART2 841da177e4SLinus Torvalds bool "Kernel low-level debugging messages via UART2" 851da177e4SLinus Torvalds depends on DEBUG_LL && ARCH_CLPS711X 861da177e4SLinus Torvalds help 871da177e4SLinus Torvalds Say Y here if you want the debug print routines to direct their 881da177e4SLinus Torvalds output to the second serial port on these devices. Saying N will 891da177e4SLinus Torvalds cause the debug messages to appear on the first serial port. 901da177e4SLinus Torvalds 913ec20520SBen Dooksconfig DEBUG_S3C_PORT 923ec20520SBen Dooks depends on DEBUG_LL && PLAT_S3C 933ec20520SBen Dooks bool "Kernel low-level debugging messages via S3C UART" 941da177e4SLinus Torvalds help 951da177e4SLinus Torvalds Say Y here if you want debug print routines to go to one of the 963ec20520SBen Dooks S3C internal UARTs. The chosen UART must have been configured 971da177e4SLinus Torvalds before it is used. 981da177e4SLinus Torvalds 993ec20520SBen Dooksconfig DEBUG_S3C_UART 1003ec20520SBen Dooks depends on PLAT_S3C 1013ec20520SBen Dooks int "S3C UART to use for low-level debug" 1021da177e4SLinus Torvalds default "0" 1031da177e4SLinus Torvalds help 1043ec20520SBen Dooks Choice for UART for kernel low-level using S3C UARTS, 1051da177e4SLinus Torvalds should be between zero and two. The port must have been 106c41045a4SEgry Gabor initialised by the boot-loader before use. 1071da177e4SLinus Torvalds 1081da177e4SLinus Torvalds The uncompressor code port configuration is now handled 109c7657846SBen Dooks by CONFIG_S3C_LOWLEVEL_UART_PORT. 1101da177e4SLinus Torvalds 1111da177e4SLinus Torvaldsendmenu 112