Kconfig.debug 32 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007
  1. menu "Kernel hacking"
  2. source "lib/Kconfig.debug"
  3. config STRICT_DEVMEM
  4. bool "Filter access to /dev/mem"
  5. depends on MMU
  6. ---help---
  7. If this option is disabled, you allow userspace (root) access to all
  8. of memory, including kernel and userspace memory. Accidental
  9. access to this is obviously disastrous, but specific access can
  10. be used by people debugging the kernel.
  11. If this option is switched on, the /dev/mem file only allows
  12. userspace access to memory mapped peripherals.
  13. If in doubt, say Y.
  14. # RMK wants arm kernels compiled with frame pointers or stack unwinding.
  15. # If you know what you are doing and are willing to live without stack
  16. # traces, you can get a slightly smaller kernel by setting this option to
  17. # n, but then RMK will have to kill you ;).
  18. config FRAME_POINTER
  19. bool
  20. depends on !THUMB2_KERNEL
  21. default y if !ARM_UNWIND || FUNCTION_GRAPH_TRACER
  22. help
  23. If you say N here, the resulting kernel will be slightly smaller and
  24. faster. However, if neither FRAME_POINTER nor ARM_UNWIND are enabled,
  25. when a problem occurs with the kernel, the information that is
  26. reported is severely limited.
  27. config ARM_UNWIND
  28. bool "Enable stack unwinding support (EXPERIMENTAL)"
  29. depends on AEABI
  30. default y
  31. help
  32. This option enables stack unwinding support in the kernel
  33. using the information automatically generated by the
  34. compiler. The resulting kernel image is slightly bigger but
  35. the performance is not affected. Currently, this feature
  36. only works with EABI compilers. If unsure say Y.
  37. config OLD_MCOUNT
  38. bool
  39. depends on FUNCTION_TRACER && FRAME_POINTER
  40. default y
  41. config DEBUG_USER
  42. bool "Verbose user fault messages"
  43. help
  44. When a user program crashes due to an exception, the kernel can
  45. print a brief message explaining what the problem was. This is
  46. sometimes helpful for debugging but serves no purpose on a
  47. production system. Most people should say N here.
  48. In addition, you need to pass user_debug=N on the kernel command
  49. line to enable this feature. N consists of the sum of:
  50. 1 - undefined instruction events
  51. 2 - system calls
  52. 4 - invalid data aborts
  53. 8 - SIGSEGV faults
  54. 16 - SIGBUS faults
  55. # These options are only for real kernel hackers who want to get their hands dirty.
  56. config DEBUG_LL
  57. bool "Kernel low-level debugging functions (read help!)"
  58. depends on DEBUG_KERNEL
  59. help
  60. Say Y here to include definitions of printascii, printch, printhex
  61. in the kernel. This is helpful if you are debugging code that
  62. executes before the console is initialized.
  63. Note that selecting this option will limit the kernel to a single
  64. UART definition, as specified below. Attempting to boot the kernel
  65. image on a different platform *will not work*, so this option should
  66. not be enabled for kernels that are intended to be portable.
  67. choice
  68. prompt "Kernel low-level debugging port"
  69. depends on DEBUG_LL
  70. config AT91_DEBUG_LL_DBGU0
  71. bool "Kernel low-level debugging on rm9200, 9260/9g20, 9261/9g10 and 9rl"
  72. depends on HAVE_AT91_DBGU0
  73. config AT91_DEBUG_LL_DBGU1
  74. bool "Kernel low-level debugging on 9263 and 9g45"
  75. depends on HAVE_AT91_DBGU1
  76. config DEBUG_BCM2835
  77. bool "Kernel low-level debugging on BCM2835 PL011 UART"
  78. depends on ARCH_BCM2835
  79. config DEBUG_CLPS711X_UART1
  80. bool "Kernel low-level debugging messages via UART1"
  81. depends on ARCH_CLPS711X
  82. help
  83. Say Y here if you want the debug print routines to direct
  84. their output to the first serial port on these devices.
  85. config DEBUG_CLPS711X_UART2
  86. bool "Kernel low-level debugging messages via UART2"
  87. depends on ARCH_CLPS711X
  88. help
  89. Say Y here if you want the debug print routines to direct
  90. their output to the second serial port on these devices.
  91. config DEBUG_CNS3XXX
  92. bool "Kernel Kernel low-level debugging on Cavium Networks CNS3xxx"
  93. depends on ARCH_CNS3XXX
  94. help
  95. Say Y here if you want the debug print routines to direct
  96. their output to the CNS3xxx UART0.
  97. config DEBUG_DAVINCI_DA8XX_UART1
  98. bool "Kernel low-level debugging on DaVinci DA8XX using UART1"
  99. depends on ARCH_DAVINCI_DA8XX
  100. help
  101. Say Y here if you want the debug print routines to direct
  102. their output to UART1 serial port on DaVinci DA8XX devices.
  103. config DEBUG_DAVINCI_DA8XX_UART2
  104. bool "Kernel low-level debugging on DaVinci DA8XX using UART2"
  105. depends on ARCH_DAVINCI_DA8XX
  106. help
  107. Say Y here if you want the debug print routines to direct
  108. their output to UART2 serial port on DaVinci DA8XX devices.
  109. config DEBUG_DAVINCI_DMx_UART0
  110. bool "Kernel low-level debugging on DaVinci DMx using UART0"
  111. depends on ARCH_DAVINCI_DMx
  112. help
  113. Say Y here if you want the debug print routines to direct
  114. their output to UART0 serial port on DaVinci DMx devices.
  115. config DEBUG_DAVINCI_TNETV107X_UART1
  116. bool "Kernel low-level debugging on DaVinci TNETV107x using UART1"
  117. depends on ARCH_DAVINCI_TNETV107X
  118. help
  119. Say Y here if you want the debug print routines to direct
  120. their output to UART1 serial port on DaVinci TNETV107X
  121. devices.
  122. config DEBUG_ZYNQ_UART0
  123. bool "Kernel low-level debugging on Xilinx Zynq using UART0"
  124. depends on ARCH_ZYNQ
  125. help
  126. Say Y here if you want the debug print routines to direct
  127. their output to UART0 on the Zynq platform.
  128. config DEBUG_ZYNQ_UART1
  129. bool "Kernel low-level debugging on Xilinx Zynq using UART1"
  130. depends on ARCH_ZYNQ
  131. help
  132. Say Y here if you want the debug print routines to direct
  133. their output to UART1 on the Zynq platform.
  134. If you have a ZC702 board and want early boot messages to
  135. appear on the USB serial adaptor, select this option.
  136. config DEBUG_DC21285_PORT
  137. bool "Kernel low-level debugging messages via footbridge serial port"
  138. depends on FOOTBRIDGE
  139. help
  140. Say Y here if you want the debug print routines to direct
  141. their output to the serial port in the DC21285 (Footbridge).
  142. config DEBUG_FOOTBRIDGE_COM1
  143. bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"
  144. depends on FOOTBRIDGE
  145. help
  146. Say Y here if you want the debug print routines to direct
  147. their output to the 8250 at PCI COM1.
  148. config DEBUG_HIGHBANK_UART
  149. bool "Kernel low-level debugging messages via Highbank UART"
  150. depends on ARCH_HIGHBANK
  151. help
  152. Say Y here if you want the debug print routines to direct
  153. their output to the UART on Highbank based devices.
  154. config DEBUG_IMX1_UART
  155. bool "i.MX1 Debug UART"
  156. depends on SOC_IMX1
  157. help
  158. Say Y here if you want kernel low-level debugging support
  159. on i.MX1.
  160. config DEBUG_IMX23_UART
  161. bool "i.MX23 Debug UART"
  162. depends on SOC_IMX23
  163. help
  164. Say Y here if you want kernel low-level debugging support
  165. on i.MX23.
  166. config DEBUG_IMX25_UART
  167. bool "i.MX25 Debug UART"
  168. depends on SOC_IMX25
  169. help
  170. Say Y here if you want kernel low-level debugging support
  171. on i.MX25.
  172. config DEBUG_IMX21_IMX27_UART
  173. bool "i.MX21 and i.MX27 Debug UART"
  174. depends on SOC_IMX21 || SOC_IMX27
  175. help
  176. Say Y here if you want kernel low-level debugging support
  177. on i.MX21 or i.MX27.
  178. config DEBUG_IMX28_UART
  179. bool "i.MX28 Debug UART"
  180. depends on SOC_IMX28
  181. help
  182. Say Y here if you want kernel low-level debugging support
  183. on i.MX28.
  184. config DEBUG_IMX31_UART
  185. bool "i.MX31 Debug UART"
  186. depends on SOC_IMX31
  187. help
  188. Say Y here if you want kernel low-level debugging support
  189. on i.MX31.
  190. config DEBUG_IMX35_UART
  191. bool "i.MX35 Debug UART"
  192. depends on SOC_IMX35
  193. help
  194. Say Y here if you want kernel low-level debugging support
  195. on i.MX35.
  196. config DEBUG_IMX51_UART
  197. bool "i.MX51 Debug UART"
  198. depends on SOC_IMX51
  199. help
  200. Say Y here if you want kernel low-level debugging support
  201. on i.MX51.
  202. config DEBUG_IMX53_UART
  203. bool "i.MX53 Debug UART"
  204. depends on SOC_IMX53
  205. help
  206. Say Y here if you want kernel low-level debugging support
  207. on i.MX53.
  208. config DEBUG_IMX6Q_UART
  209. bool "i.MX6Q/DL Debug UART"
  210. depends on SOC_IMX6Q
  211. help
  212. Say Y here if you want kernel low-level debugging support
  213. on i.MX6Q/DL.
  214. config DEBUG_IMX6SL_UART
  215. bool "i.MX6SL Debug UART"
  216. depends on SOC_IMX6SL
  217. help
  218. Say Y here if you want kernel low-level debugging support
  219. on i.MX6SL.
  220. config DEBUG_KEYSTONE_UART0
  221. bool "Kernel low-level debugging on KEYSTONE2 using UART0"
  222. depends on ARCH_KEYSTONE
  223. help
  224. Say Y here if you want the debug print routines to direct
  225. their output to UART0 serial port on KEYSTONE2 devices.
  226. config DEBUG_KEYSTONE_UART1
  227. bool "Kernel low-level debugging on KEYSTONE2 using UART1"
  228. depends on ARCH_KEYSTONE
  229. help
  230. Say Y here if you want the debug print routines to direct
  231. their output to UART1 serial port on KEYSTONE2 devices.
  232. config DEBUG_MMP_UART2
  233. bool "Kernel low-level debugging message via MMP UART2"
  234. depends on ARCH_MMP
  235. select DEBUG_UART_8250
  236. help
  237. Say Y here if you want kernel low-level debugging support
  238. on MMP UART2.
  239. config DEBUG_MMP_UART3
  240. bool "Kernel low-level debugging message via MMP UART3"
  241. depends on ARCH_MMP
  242. select DEBUG_UART_8250
  243. help
  244. Say Y here if you want kernel low-level debugging support
  245. on MMP UART3.
  246. config DEBUG_MSM_UART1
  247. bool "Kernel low-level debugging messages via MSM UART1"
  248. depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50
  249. help
  250. Say Y here if you want the debug print routines to direct
  251. their output to the first serial port on MSM devices.
  252. config DEBUG_MSM_UART2
  253. bool "Kernel low-level debugging messages via MSM UART2"
  254. depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50
  255. help
  256. Say Y here if you want the debug print routines to direct
  257. their output to the second serial port on MSM devices.
  258. config DEBUG_MSM_UART3
  259. bool "Kernel low-level debugging messages via MSM UART3"
  260. depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50
  261. help
  262. Say Y here if you want the debug print routines to direct
  263. their output to the third serial port on MSM devices.
  264. config DEBUG_MSM8660_UART
  265. bool "Kernel low-level debugging messages via MSM 8660 UART"
  266. depends on ARCH_MSM8X60
  267. select MSM_HAS_DEBUG_UART_HS
  268. help
  269. Say Y here if you want the debug print routines to direct
  270. their output to the serial port on MSM 8660 devices.
  271. config DEBUG_MSM8960_UART
  272. bool "Kernel low-level debugging messages via MSM 8960 UART"
  273. depends on ARCH_MSM8960
  274. select MSM_HAS_DEBUG_UART_HS
  275. help
  276. Say Y here if you want the debug print routines to direct
  277. their output to the serial port on MSM 8960 devices.
  278. config DEBUG_MVEBU_UART
  279. bool "Kernel low-level debugging messages via MVEBU UART (old bootloaders)"
  280. depends on ARCH_MVEBU
  281. select DEBUG_UART_8250
  282. help
  283. Say Y here if you want kernel low-level debugging support
  284. on MVEBU based platforms.
  285. This option should be used with the old bootloaders
  286. that left the internal registers mapped at
  287. 0xd0000000. As of today, this is the case on
  288. platforms such as the Globalscale Mirabox or the
  289. Plathome OpenBlocks AX3, when using the original
  290. bootloader.
  291. If the wrong DEBUG_MVEBU_UART* option is selected,
  292. when u-boot hands over to the kernel, the system
  293. silently crashes, with no serial output at all.
  294. config DEBUG_MVEBU_UART_ALTERNATE
  295. bool "Kernel low-level debugging messages via MVEBU UART (new bootloaders)"
  296. depends on ARCH_MVEBU
  297. select DEBUG_UART_8250
  298. help
  299. Say Y here if you want kernel low-level debugging support
  300. on MVEBU based platforms.
  301. This option should be used with the new bootloaders
  302. that remap the internal registers at 0xf1000000.
  303. If the wrong DEBUG_MVEBU_UART* option is selected,
  304. when u-boot hands over to the kernel, the system
  305. silently crashes, with no serial output at all.
  306. config DEBUG_NOMADIK_UART
  307. bool "Kernel low-level debugging messages via NOMADIK UART"
  308. depends on ARCH_NOMADIK
  309. help
  310. Say Y here if you want kernel low-level debugging support
  311. on NOMADIK based platforms.
  312. config DEBUG_NSPIRE_CLASSIC_UART
  313. bool "Kernel low-level debugging via TI-NSPIRE 8250 UART"
  314. depends on ARCH_NSPIRE
  315. select DEBUG_UART_8250
  316. help
  317. Say Y here if you want kernel low-level debugging support
  318. on TI-NSPIRE classic models.
  319. config DEBUG_NSPIRE_CX_UART
  320. bool "Kernel low-level debugging via TI-NSPIRE PL011 UART"
  321. depends on ARCH_NSPIRE
  322. help
  323. Say Y here if you want kernel low-level debugging support
  324. on TI-NSPIRE CX models.
  325. config DEBUG_OMAP2UART1
  326. bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
  327. depends on ARCH_OMAP2PLUS
  328. select DEBUG_OMAP2PLUS_UART
  329. help
  330. This covers at least h4, 2430sdp, 3430sdp, 3630sdp,
  331. omap3 torpedo and 3530 lv som.
  332. config DEBUG_OMAP2UART2
  333. bool "Kernel low-level debugging messages via OMAP2/3/4 UART2"
  334. depends on ARCH_OMAP2PLUS
  335. select DEBUG_OMAP2PLUS_UART
  336. config DEBUG_OMAP2UART3
  337. bool "Kernel low-level debugging messages via OMAP2 UART3 (n8x0)"
  338. depends on ARCH_OMAP2PLUS
  339. select DEBUG_OMAP2PLUS_UART
  340. config DEBUG_OMAP3UART3
  341. bool "Kernel low-level debugging messages via OMAP3 UART3 (most omap3 boards)"
  342. depends on ARCH_OMAP2PLUS
  343. select DEBUG_OMAP2PLUS_UART
  344. help
  345. This covers at least cm_t3x, beagle, crane, devkit8000,
  346. igep00x0, ldp, n900, n9(50), pandora, overo, touchbook,
  347. and 3517evm.
  348. config DEBUG_OMAP4UART3
  349. bool "Kernel low-level debugging messages via OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)"
  350. depends on ARCH_OMAP2PLUS
  351. select DEBUG_OMAP2PLUS_UART
  352. config DEBUG_OMAP3UART4
  353. bool "Kernel low-level debugging messages via OMAP36XX UART4"
  354. depends on ARCH_OMAP2PLUS
  355. select DEBUG_OMAP2PLUS_UART
  356. config DEBUG_OMAP4UART4
  357. bool "Kernel low-level debugging messages via OMAP4/5 UART4"
  358. depends on ARCH_OMAP2PLUS
  359. select DEBUG_OMAP2PLUS_UART
  360. config DEBUG_TI81XXUART1
  361. bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)"
  362. depends on ARCH_OMAP2PLUS
  363. select DEBUG_OMAP2PLUS_UART
  364. config DEBUG_TI81XXUART2
  365. bool "Kernel low-level debugging messages via TI81XX UART2"
  366. depends on ARCH_OMAP2PLUS
  367. select DEBUG_OMAP2PLUS_UART
  368. config DEBUG_TI81XXUART3
  369. bool "Kernel low-level debugging messages via TI81XX UART3 (ti8168evm)"
  370. depends on ARCH_OMAP2PLUS
  371. select DEBUG_OMAP2PLUS_UART
  372. config DEBUG_AM33XXUART1
  373. bool "Kernel low-level debugging messages via AM33XX UART1"
  374. depends on ARCH_OMAP2PLUS
  375. select DEBUG_OMAP2PLUS_UART
  376. config DEBUG_ZOOM_UART
  377. bool "Kernel low-level debugging messages via Zoom2/3 UART"
  378. depends on ARCH_OMAP2PLUS
  379. select DEBUG_OMAP2PLUS_UART
  380. config DEBUG_PICOXCELL_UART
  381. depends on ARCH_PICOXCELL
  382. bool "Use PicoXcell UART for low-level debug"
  383. select DEBUG_UART_8250
  384. help
  385. Say Y here if you want kernel low-level debugging support
  386. on PicoXcell based platforms.
  387. config DEBUG_PXA_UART1
  388. depends on ARCH_PXA
  389. bool "Use PXA UART1 for low-level debug"
  390. select DEBUG_UART_8250
  391. help
  392. Say Y here if you want kernel low-level debugging support
  393. on PXA UART1.
  394. config DEBUG_REALVIEW_STD_PORT
  395. bool "RealView Default UART"
  396. depends on ARCH_REALVIEW
  397. help
  398. Say Y here if you want the debug print routines to direct
  399. their output to the serial port on RealView EB, PB11MP, PBA8
  400. and PBX platforms.
  401. config DEBUG_REALVIEW_PB1176_PORT
  402. bool "RealView PB1176 UART"
  403. depends on MACH_REALVIEW_PB1176
  404. help
  405. Say Y here if you want the debug print routines to direct
  406. their output to the standard serial port on the RealView
  407. PB1176 platform.
  408. config DEBUG_RK29_UART0
  409. bool "Kernel low-level debugging messages via Rockchip RK29 UART0"
  410. depends on ARCH_ROCKCHIP
  411. select DEBUG_ROCKCHIP_UART
  412. select DEBUG_UART_8250
  413. help
  414. Say Y here if you want kernel low-level debugging support
  415. on Rockchip based platforms.
  416. config DEBUG_RK29_UART1
  417. bool "Kernel low-level debugging messages via Rockchip RK29 UART1"
  418. depends on ARCH_ROCKCHIP
  419. select DEBUG_ROCKCHIP_UART
  420. select DEBUG_UART_8250
  421. help
  422. Say Y here if you want kernel low-level debugging support
  423. on Rockchip based platforms.
  424. config DEBUG_RK29_UART2
  425. bool "Kernel low-level debugging messages via Rockchip RK29 UART2"
  426. depends on ARCH_ROCKCHIP
  427. select DEBUG_ROCKCHIP_UART
  428. select DEBUG_UART_8250
  429. help
  430. Say Y here if you want kernel low-level debugging support
  431. on Rockchip based platforms.
  432. config DEBUG_RK3X_UART0
  433. bool "Kernel low-level debugging messages via Rockchip RK3X UART0"
  434. depends on ARCH_ROCKCHIP
  435. select DEBUG_ROCKCHIP_UART
  436. select DEBUG_UART_8250
  437. help
  438. Say Y here if you want kernel low-level debugging support
  439. on Rockchip based platforms.
  440. config DEBUG_RK3X_UART1
  441. bool "Kernel low-level debugging messages via Rockchip RK3X UART1"
  442. depends on ARCH_ROCKCHIP
  443. select DEBUG_ROCKCHIP_UART
  444. select DEBUG_UART_8250
  445. help
  446. Say Y here if you want kernel low-level debugging support
  447. on Rockchip based platforms.
  448. config DEBUG_RK3X_UART2
  449. bool "Kernel low-level debugging messages via Rockchip RK3X UART2"
  450. depends on ARCH_ROCKCHIP
  451. select DEBUG_ROCKCHIP_UART
  452. select DEBUG_UART_8250
  453. help
  454. Say Y here if you want kernel low-level debugging support
  455. on Rockchip based platforms.
  456. config DEBUG_RK3X_UART3
  457. bool "Kernel low-level debugging messages via Rockchip RK3X UART3"
  458. depends on ARCH_ROCKCHIP
  459. select DEBUG_ROCKCHIP_UART
  460. select DEBUG_UART_8250
  461. help
  462. Say Y here if you want kernel low-level debugging support
  463. on Rockchip based platforms.
  464. config DEBUG_S3C_UART0
  465. depends on PLAT_SAMSUNG
  466. select DEBUG_EXYNOS_UART if ARCH_EXYNOS
  467. bool "Use S3C UART 0 for low-level debug"
  468. help
  469. Say Y here if you want the debug print routines to direct
  470. their output to UART 0. The port must have been initialised
  471. by the boot-loader before use.
  472. The uncompressor code port configuration is now handled
  473. by CONFIG_S3C_LOWLEVEL_UART_PORT.
  474. config DEBUG_S3C_UART1
  475. depends on PLAT_SAMSUNG
  476. select DEBUG_EXYNOS_UART if ARCH_EXYNOS
  477. bool "Use S3C UART 1 for low-level debug"
  478. help
  479. Say Y here if you want the debug print routines to direct
  480. their output to UART 1. The port must have been initialised
  481. by the boot-loader before use.
  482. The uncompressor code port configuration is now handled
  483. by CONFIG_S3C_LOWLEVEL_UART_PORT.
  484. config DEBUG_S3C_UART2
  485. depends on PLAT_SAMSUNG
  486. select DEBUG_EXYNOS_UART if ARCH_EXYNOS
  487. bool "Use S3C UART 2 for low-level debug"
  488. help
  489. Say Y here if you want the debug print routines to direct
  490. their output to UART 2. The port must have been initialised
  491. by the boot-loader before use.
  492. The uncompressor code port configuration is now handled
  493. by CONFIG_S3C_LOWLEVEL_UART_PORT.
  494. config DEBUG_S3C_UART3
  495. depends on PLAT_SAMSUNG && ARCH_EXYNOS
  496. select DEBUG_EXYNOS_UART
  497. bool "Use S3C UART 3 for low-level debug"
  498. help
  499. Say Y here if you want the debug print routines to direct
  500. their output to UART 3. The port must have been initialised
  501. by the boot-loader before use.
  502. The uncompressor code port configuration is now handled
  503. by CONFIG_S3C_LOWLEVEL_UART_PORT.
  504. config DEBUG_SOCFPGA_UART
  505. depends on ARCH_SOCFPGA
  506. bool "Use SOCFPGA UART for low-level debug"
  507. select DEBUG_UART_8250
  508. help
  509. Say Y here if you want kernel low-level debugging support
  510. on SOCFPGA based platforms.
  511. config DEBUG_SUNXI_UART0
  512. bool "Kernel low-level debugging messages via sunXi UART0"
  513. depends on ARCH_SUNXI
  514. select DEBUG_UART_8250
  515. help
  516. Say Y here if you want kernel low-level debugging support
  517. on Allwinner A1X based platforms on the UART0.
  518. config DEBUG_SUNXI_UART1
  519. bool "Kernel low-level debugging messages via sunXi UART1"
  520. depends on ARCH_SUNXI
  521. select DEBUG_UART_8250
  522. help
  523. Say Y here if you want kernel low-level debugging support
  524. on Allwinner A1X based platforms on the UART1.
  525. config TEGRA_DEBUG_UART_AUTO_ODMDATA
  526. bool "Kernel low-level debugging messages via Tegra UART via ODMDATA"
  527. depends on ARCH_TEGRA
  528. select DEBUG_TEGRA_UART
  529. help
  530. Automatically determines which UART to use for low-level
  531. debug based on the ODMDATA value. This value is part of
  532. the BCT, and is written to the boot memory device using
  533. nvflash, or other flashing tool. When bits 19:18 are 3,
  534. then bits 17:15 indicate which UART to use; 0/1/2/3/4
  535. are UART A/B/C/D/E.
  536. config TEGRA_DEBUG_UARTA
  537. bool "Kernel low-level debugging messages via Tegra UART A"
  538. depends on ARCH_TEGRA
  539. select DEBUG_TEGRA_UART
  540. help
  541. Say Y here if you want kernel low-level debugging support
  542. on Tegra based platforms.
  543. config TEGRA_DEBUG_UARTB
  544. bool "Kernel low-level debugging messages via Tegra UART B"
  545. depends on ARCH_TEGRA
  546. select DEBUG_TEGRA_UART
  547. help
  548. Say Y here if you want kernel low-level debugging support
  549. on Tegra based platforms.
  550. config TEGRA_DEBUG_UARTC
  551. bool "Kernel low-level debugging messages via Tegra UART C"
  552. depends on ARCH_TEGRA
  553. select DEBUG_TEGRA_UART
  554. help
  555. Say Y here if you want kernel low-level debugging support
  556. on Tegra based platforms.
  557. config TEGRA_DEBUG_UARTD
  558. bool "Kernel low-level debugging messages via Tegra UART D"
  559. depends on ARCH_TEGRA
  560. select DEBUG_TEGRA_UART
  561. help
  562. Say Y here if you want kernel low-level debugging support
  563. on Tegra based platforms.
  564. config TEGRA_DEBUG_UARTE
  565. bool "Kernel low-level debugging messages via Tegra UART E"
  566. depends on ARCH_TEGRA
  567. select DEBUG_TEGRA_UART
  568. help
  569. Say Y here if you want kernel low-level debugging support
  570. on Tegra based platforms.
  571. config DEBUG_SIRFPRIMA2_UART1
  572. bool "Kernel low-level debugging messages via SiRFprimaII UART1"
  573. depends on ARCH_PRIMA2
  574. help
  575. Say Y here if you want the debug print routines to direct
  576. their output to the uart1 port on SiRFprimaII devices.
  577. config DEBUG_SIRFMARCO_UART1
  578. bool "Kernel low-level debugging messages via SiRFmarco UART1"
  579. depends on ARCH_MARCO
  580. help
  581. Say Y here if you want the debug print routines to direct
  582. their output to the uart1 port on SiRFmarco devices.
  583. config STIH41X_DEBUG_ASC2
  584. bool "Use StiH415/416 ASC2 UART for low-level debug"
  585. depends on ARCH_STI
  586. select DEBUG_STI_UART
  587. help
  588. Say Y here if you want kernel low-level debugging support
  589. on STiH415/416 based platforms like b2000, which has
  590. default UART wired up to ASC2.
  591. If unsure, say N.
  592. config STIH41X_DEBUG_SBC_ASC1
  593. bool "Use StiH415/416 SBC ASC1 UART for low-level debug"
  594. depends on ARCH_STI
  595. select DEBUG_STI_UART
  596. help
  597. Say Y here if you want kernel low-level debugging support
  598. on STiH415/416 based platforms like b2020. which has
  599. default UART wired up to SBC ASC1.
  600. If unsure, say N.
  601. config DEBUG_U300_UART
  602. bool "Kernel low-level debugging messages via U300 UART0"
  603. depends on ARCH_U300
  604. help
  605. Say Y here if you want the debug print routines to direct
  606. their output to the uart port on U300 devices.
  607. config DEBUG_UX500_UART
  608. depends on ARCH_U8500
  609. bool "Use Ux500 UART for low-level debug"
  610. help
  611. Say Y here if you want kernel low-level debugging support
  612. on Ux500 based platforms.
  613. config DEBUG_VEXPRESS_UART0_DETECT
  614. bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
  615. depends on ARCH_VEXPRESS && CPU_CP15_MMU
  616. help
  617. This option enables a simple heuristic which tries to determine
  618. the motherboard's memory map variant (original or RS1) and then
  619. choose the relevant UART0 base address.
  620. Note that this will only work with standard A-class core tiles,
  621. and may fail with non-standard SMM or custom software models.
  622. config DEBUG_VEXPRESS_UART0_CA9
  623. bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)"
  624. depends on ARCH_VEXPRESS
  625. help
  626. This option selects UART0 at 0x10009000. Except for custom models,
  627. this applies only to the V2P-CA9 tile.
  628. config DEBUG_VEXPRESS_UART0_RS1
  629. bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)"
  630. depends on ARCH_VEXPRESS
  631. help
  632. This option selects UART0 at 0x1c090000. This applies to most
  633. of the tiles using the RS1 memory map, including all new A-class
  634. core tiles, FPGA-based SMMs and software models.
  635. config DEBUG_VEXPRESS_UART0_CRX
  636. bool "Use PL011 UART0 at 0xb0090000 (Cortex-R compliant tiles)"
  637. depends on ARCH_VEXPRESS && !MMU
  638. help
  639. This option selects UART0 at 0xb0090000. This is appropriate for
  640. Cortex-R series tiles and SMMs, such as Cortex-R5 and Cortex-R7
  641. config DEBUG_VT8500_UART0
  642. bool "Use UART0 on VIA/Wondermedia SoCs"
  643. depends on ARCH_VT8500
  644. help
  645. This option selects UART0 on VIA/Wondermedia System-on-a-chip
  646. devices, including VT8500, WM8505, WM8650 and WM8850.
  647. config DEBUG_LL_UART_NONE
  648. bool "No low-level debugging UART"
  649. depends on !ARCH_MULTIPLATFORM
  650. help
  651. Say Y here if your platform doesn't provide a UART option
  652. above. This relies on your platform choosing the right UART
  653. definition internally in order for low-level debugging to
  654. work.
  655. config DEBUG_ICEDCC
  656. bool "Kernel low-level debugging via EmbeddedICE DCC channel"
  657. help
  658. Say Y here if you want the debug print routines to direct
  659. their output to the EmbeddedICE macrocell's DCC channel using
  660. co-processor 14. This is known to work on the ARM9 style ICE
  661. channel and on the XScale with the PEEDI.
  662. Note that the system will appear to hang during boot if there
  663. is nothing connected to read from the DCC.
  664. config DEBUG_SEMIHOSTING
  665. bool "Kernel low-level debug output via semihosting I/O"
  666. help
  667. Semihosting enables code running on an ARM target to use
  668. the I/O facilities on a host debugger/emulator through a
  669. simple SVC call. The host debugger or emulator must have
  670. semihosting enabled for the special svc call to be trapped
  671. otherwise the kernel will crash.
  672. This is known to work with OpenOCD, as well as
  673. ARM's Fast Models, or any other controlling environment
  674. that implements semihosting.
  675. For more details about semihosting, please see
  676. chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd.
  677. endchoice
  678. config DEBUG_EXYNOS_UART
  679. bool
  680. config DEBUG_OMAP2PLUS_UART
  681. bool
  682. depends on ARCH_OMAP2PLUS
  683. config DEBUG_IMX_UART_PORT
  684. int "i.MX Debug UART Port Selection" if DEBUG_IMX1_UART || \
  685. DEBUG_IMX25_UART || \
  686. DEBUG_IMX21_IMX27_UART || \
  687. DEBUG_IMX31_UART || \
  688. DEBUG_IMX35_UART || \
  689. DEBUG_IMX51_UART || \
  690. DEBUG_IMX53_UART || \
  691. DEBUG_IMX6Q_UART || \
  692. DEBUG_IMX6SL_UART
  693. default 1
  694. depends on ARCH_MXC
  695. help
  696. Choose UART port on which kernel low-level debug messages
  697. should be output.
  698. config DEBUG_ROCKCHIP_UART
  699. bool
  700. depends on ARCH_ROCKCHIP
  701. config DEBUG_TEGRA_UART
  702. bool
  703. depends on ARCH_TEGRA
  704. config DEBUG_STI_UART
  705. bool
  706. depends on ARCH_STI
  707. config DEBUG_LL_INCLUDE
  708. string
  709. default "debug/8250.S" if DEBUG_UART_8250
  710. default "debug/bcm2835.S" if DEBUG_BCM2835
  711. default "debug/cns3xxx.S" if DEBUG_CNS3XXX
  712. default "debug/exynos.S" if DEBUG_EXYNOS_UART
  713. default "debug/highbank.S" if DEBUG_HIGHBANK_UART
  714. default "debug/icedcc.S" if DEBUG_ICEDCC
  715. default "debug/imx.S" if DEBUG_IMX1_UART || \
  716. DEBUG_IMX25_UART || \
  717. DEBUG_IMX21_IMX27_UART || \
  718. DEBUG_IMX31_UART || \
  719. DEBUG_IMX35_UART || \
  720. DEBUG_IMX51_UART || \
  721. DEBUG_IMX53_UART ||\
  722. DEBUG_IMX6Q_UART || \
  723. DEBUG_IMX6SL_UART
  724. default "debug/keystone.S" if DEBUG_KEYSTONE_UART0 || \
  725. DEBUG_KEYSTONE_UART1
  726. default "debug/mxs.S" if DEBUG_IMX23_UART || DEBUG_IMX28_UART
  727. default "debug/nomadik.S" if DEBUG_NOMADIK_UART
  728. default "debug/nspire.S" if DEBUG_NSPIRE_CX_UART
  729. default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
  730. default "debug/sirf.S" if DEBUG_SIRFPRIMA2_UART1 || DEBUG_SIRFMARCO_UART1
  731. default "debug/sti.S" if DEBUG_STI_UART
  732. default "debug/tegra.S" if DEBUG_TEGRA_UART
  733. default "debug/u300.S" if DEBUG_U300_UART
  734. default "debug/ux500.S" if DEBUG_UX500_UART
  735. default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT || \
  736. DEBUG_VEXPRESS_UART0_CA9 || DEBUG_VEXPRESS_UART0_RS1 || \
  737. DEBUG_VEXPRESS_UART0_CRX
  738. default "debug/vt8500.S" if DEBUG_VT8500_UART0
  739. default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
  740. default "mach/debug-macro.S"
  741. config DEBUG_UART_8250
  742. def_bool ARCH_DOVE || ARCH_EBSA110 || \
  743. (FOOTBRIDGE && !DEBUG_DC21285_PORT) || \
  744. ARCH_GEMINI || ARCH_IOP13XX || ARCH_IOP32X || \
  745. ARCH_IOP33X || ARCH_IXP4XX || ARCH_KIRKWOOD || \
  746. ARCH_LPC32XX || ARCH_MV78XX0 || ARCH_ORION5X || ARCH_RPC
  747. config DEBUG_UART_PHYS
  748. hex "Physical base address of debug UART"
  749. default 0x01c28000 if DEBUG_SUNXI_UART0
  750. default 0x01c28400 if DEBUG_SUNXI_UART1
  751. default 0x03010fe0 if ARCH_RPC
  752. default 0x10124000 if DEBUG_RK3X_UART0
  753. default 0x10126000 if DEBUG_RK3X_UART1
  754. default 0x20060000 if DEBUG_RK29_UART0
  755. default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
  756. default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
  757. default 0x40090000 if ARCH_LPC32XX
  758. default 0x40100000 if DEBUG_PXA_UART1
  759. default 0x42000000 if ARCH_GEMINI
  760. default 0x7c0003f8 if FOOTBRIDGE
  761. default 0x80230000 if DEBUG_PICOXCELL_UART
  762. default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART
  763. default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
  764. default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
  765. default 0xd0012000 if DEBUG_MVEBU_UART
  766. default 0xd4017000 if DEBUG_MMP_UART2
  767. default 0xd4018000 if DEBUG_MMP_UART3
  768. default 0xf0000be0 if ARCH_EBSA110
  769. default 0xf1012000 if DEBUG_MVEBU_UART_ALTERNATE
  770. default 0xf1012000 if ARCH_DOVE || ARCH_KIRKWOOD || ARCH_MV78XX0 || \
  771. ARCH_ORION5X
  772. default 0xfe800000 if ARCH_IOP32X
  773. default 0xffc02000 if DEBUG_SOCFPGA_UART
  774. default 0xffd82340 if ARCH_IOP13XX
  775. default 0xfffff700 if ARCH_IOP33X
  776. depends on DEBUG_UART_8250
  777. config DEBUG_UART_VIRT
  778. hex "Virtual base address of debug UART"
  779. default 0xe0010fe0 if ARCH_RPC
  780. default 0xf0000be0 if ARCH_EBSA110
  781. default 0xf1c28000 if DEBUG_SUNXI_UART0
  782. default 0xf1c28400 if DEBUG_SUNXI_UART1
  783. default 0xf2100000 if DEBUG_PXA_UART1
  784. default 0xf4090000 if ARCH_LPC32XX
  785. default 0xf4200000 if ARCH_GEMINI
  786. default 0xfd012000 if ARCH_MV78XX0
  787. default 0xfde12000 if ARCH_DOVE
  788. default 0xfe012000 if ARCH_ORION5X
  789. default 0xfe017000 if DEBUG_MMP_UART2
  790. default 0xfe018000 if DEBUG_MMP_UART3
  791. default 0xfe230000 if DEBUG_PICOXCELL_UART
  792. default 0xfe800000 if ARCH_IOP32X
  793. default 0xfeb24000 if DEBUG_RK3X_UART0
  794. default 0xfeb26000 if DEBUG_RK3X_UART1
  795. default 0xfec12000 if DEBUG_MVEBU_UART || DEBUG_MVEBU_UART_ALTERNATE
  796. default 0xfed60000 if DEBUG_RK29_UART0
  797. default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
  798. default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
  799. default 0xfec02000 if DEBUG_SOCFPGA_UART
  800. default 0xfed12000 if ARCH_KIRKWOOD
  801. default 0xfee003f8 if FOOTBRIDGE
  802. default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART
  803. default 0xfee82340 if ARCH_IOP13XX
  804. default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
  805. default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
  806. default 0xfefff700 if ARCH_IOP33X
  807. depends on DEBUG_UART_8250
  808. config DEBUG_UART_8250_SHIFT
  809. int "Register offset shift for the 8250 debug UART"
  810. depends on DEBUG_UART_8250
  811. default 0 if FOOTBRIDGE || ARCH_IOP32X
  812. default 2
  813. config DEBUG_UART_8250_WORD
  814. bool "Use 32-bit accesses for 8250 UART"
  815. depends on DEBUG_UART_8250
  816. depends on DEBUG_UART_8250_SHIFT >= 2
  817. default y if DEBUG_PICOXCELL_UART || DEBUG_SOCFPGA_UART
  818. config DEBUG_UART_8250_FLOW_CONTROL
  819. bool "Enable flow control for 8250 UART"
  820. depends on DEBUG_UART_8250
  821. default y if ARCH_EBSA110 || FOOTBRIDGE || ARCH_GEMINI || ARCH_RPC
  822. config DEBUG_UNCOMPRESS
  823. bool
  824. depends on ARCH_MULTIPLATFORM
  825. default y if DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \
  826. !DEBUG_TEGRA_UART
  827. help
  828. This option influences the normal decompressor output for
  829. multiplatform kernels. Normally, multiplatform kernels disable
  830. decompressor output because it is not possible to know where to
  831. send the decompressor output.
  832. When this option is set, the selected DEBUG_LL output method
  833. will be re-used for normal decompressor output on multiplatform
  834. kernels.
  835. config UNCOMPRESS_INCLUDE
  836. string
  837. default "debug/uncompress.h" if ARCH_MULTIPLATFORM
  838. default "mach/uncompress.h"
  839. config EARLY_PRINTK
  840. bool "Early printk"
  841. depends on DEBUG_LL
  842. help
  843. Say Y here if you want to have an early console using the
  844. kernel low-level debugging functions. Add earlyprintk to your
  845. kernel parameters to enable this console.
  846. config OC_ETM
  847. bool "On-chip ETM and ETB"
  848. depends on ARM_AMBA
  849. help
  850. Enables the on-chip embedded trace macrocell and embedded trace
  851. buffer driver that will allow you to collect traces of the
  852. kernel code.
  853. config ARM_KPROBES_TEST
  854. tristate "Kprobes test module"
  855. depends on KPROBES && MODULES
  856. help
  857. Perform tests of kprobes API and instruction set simulation.
  858. config PID_IN_CONTEXTIDR
  859. bool "Write the current PID to the CONTEXTIDR register"
  860. depends on CPU_COPY_V6
  861. help
  862. Enabling this option causes the kernel to write the current PID to
  863. the PROCID field of the CONTEXTIDR register, at the expense of some
  864. additional instructions during context switch. Say Y here only if you
  865. are planning to use hardware trace tools with this kernel.
  866. endmenu