Kconfig.debug 39 KB

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