Kconfig.debug 39 KB

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