xref: /linux/arch/arm/Kconfig.debug (revision ddf4e42c6a109392851d8843e2699bffd3c476bf)
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