Kconfig.debug 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. menu "Kernel hacking"
  2. config TRACE_IRQFLAGS_SUPPORT
  3. def_bool y
  4. source "lib/Kconfig.debug"
  5. config SH_STANDARD_BIOS
  6. bool "Use LinuxSH standard BIOS"
  7. depends on SUPERH32
  8. help
  9. Say Y here if your target has the gdb-sh-stub
  10. package from www.m17n.org (or any conforming standard LinuxSH BIOS)
  11. in FLASH or EPROM. The kernel will use standard BIOS calls during
  12. boot for various housekeeping tasks (including calls to read and
  13. write characters to a system console, get a MAC address from an
  14. on-board Ethernet interface, and shut down the hardware). Note this
  15. does not work with machines with an existing operating system in
  16. mask ROM and no flash (WindowsCE machines fall in this category).
  17. If unsure, say N.
  18. config EARLY_SCIF_CONSOLE
  19. bool "Use early SCIF console"
  20. help
  21. This enables an early console using a fixed SCIF port. This can
  22. be used by platforms that are either not running the SH
  23. standard BIOS, or do not wish to use the BIOS callbacks for the
  24. serial I/O.
  25. config EARLY_SCIF_CONSOLE_PORT
  26. hex
  27. depends on EARLY_SCIF_CONSOLE
  28. default "0xa4400000" if CPU_SUBTYPE_SH7712 || CPU_SUBTYPE_SH7705
  29. default "0xa4430000" if CPU_SUBTYPE_SH7720 || CPU_SUBTYPE_SH7721
  30. default "0xf8420000" if CPU_SUBTYPE_SH7619
  31. default "0xff804000" if CPU_SUBTYPE_MXG
  32. default "0xffc30000" if CPU_SUBTYPE_SHX3
  33. default "0xffe00000" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7763 || \
  34. CPU_SUBTYPE_SH7722 || CPU_SUBTYPE_SH7366 || \
  35. CPU_SUBTYPE_SH7343
  36. default "0xfe4c0000" if CPU_SUBTYPE_SH7757
  37. default "0xffeb0000" if CPU_SUBTYPE_SH7785
  38. default "0xffeb0000" if CPU_SUBTYPE_SH7786
  39. default "0xfffe8000" if CPU_SUBTYPE_SH7203
  40. default "0xfffe9800" if CPU_SUBTYPE_SH7206 || CPU_SUBTYPE_SH7263
  41. default "0xffe80000" if CPU_SH4
  42. default "0xa4000150" if CPU_SH3
  43. default "0x00000000"
  44. config EARLY_PRINTK
  45. bool "Early printk support"
  46. depends on SH_STANDARD_BIOS || EARLY_SCIF_CONSOLE
  47. help
  48. Say Y here to redirect kernel printk messages to the serial port
  49. used by the SH-IPL bootloader, starting very early in the boot
  50. process and ending when the kernel's serial console is initialised.
  51. This option is only useful porting the kernel to a new machine,
  52. when the kernel may crash or hang before the serial console is
  53. initialised. If unsure, say N.
  54. On devices that are running SH-IPL and want to keep the port
  55. initialization consistent while not using the BIOS callbacks,
  56. select both the EARLY_SCIF_CONSOLE and SH_STANDARD_BIOS, using
  57. the kernel command line option to toggle back and forth.
  58. config STACK_DEBUG
  59. bool "Check for stack overflows"
  60. depends on DEBUG_KERNEL && SUPERH32
  61. help
  62. This option will cause messages to be printed if free stack space
  63. drops below a certain limit. Saying Y here will add overhead to
  64. every function call and will therefore incur a major
  65. performance hit. Most users should say N.
  66. config DEBUG_STACK_USAGE
  67. bool "Stack utilization instrumentation"
  68. depends on DEBUG_KERNEL
  69. help
  70. Enables the display of the minimum amount of free stack which each
  71. task has ever had available in the sysrq-T and sysrq-P debug output.
  72. This option will slow down process creation somewhat.
  73. config 4KSTACKS
  74. bool "Use 4Kb for kernel stacks instead of 8Kb"
  75. depends on DEBUG_KERNEL && (MMU || BROKEN) && !PAGE_SIZE_64KB
  76. help
  77. If you say Y here the kernel will use a 4Kb stacksize for the
  78. kernel stack attached to each process/thread. This facilitates
  79. running more threads on a system and also reduces the pressure
  80. on the VM subsystem for higher order allocations. This option
  81. will also use IRQ stacks to compensate for the reduced stackspace.
  82. config IRQSTACKS
  83. bool "Use separate kernel stacks when processing interrupts"
  84. depends on DEBUG_KERNEL && SUPERH32 && BROKEN
  85. help
  86. If you say Y here the kernel will use separate kernel stacks
  87. for handling hard and soft interrupts. This can help avoid
  88. overflowing the process kernel stacks.
  89. config DUMP_CODE
  90. bool "Show disassembly of nearby code in register dumps"
  91. depends on DEBUG_KERNEL && SUPERH32
  92. default y if DEBUG_BUGVERBOSE
  93. default n
  94. help
  95. This prints out a code trace of the instructions leading up to
  96. the faulting instruction as a debugging aid. As this does grow
  97. the kernel in size a bit, most users will want to say N here.
  98. Those looking for more verbose debugging output should say Y.
  99. config DWARF_UNWINDER
  100. bool "Enable the DWARF unwinder for stacktraces"
  101. select FRAME_POINTER
  102. default n
  103. help
  104. Enabling this option will make stacktraces more accurate, at
  105. the cost of an increase in overall kernel size.
  106. config SH_NO_BSS_INIT
  107. bool "Avoid zeroing BSS (to speed-up startup on suitable platforms)"
  108. depends on DEBUG_KERNEL
  109. default n
  110. help
  111. If running in painfully slow environments, such as an RTL
  112. simulation or from remote memory via SHdebug, where the memory
  113. can already be gauranteed to ber zeroed on boot, say Y.
  114. For all other cases, say N. If this option seems perplexing, or
  115. you aren't sure, say N.
  116. config SH64_SR_WATCH
  117. bool "Debug: set SR.WATCH to enable hardware watchpoints and trace"
  118. depends on SUPERH64
  119. config MCOUNT
  120. def_bool y
  121. depends on SUPERH32
  122. depends on STACK_DEBUG || FUNCTION_TRACER
  123. endmenu