xref: /linux/arch/arm/Kconfig.debug (revision 615967b00fecc9e636dc59bf1ee322274f7dd041)
11da177e4SLinus Torvaldsmenu "Kernel hacking"
21da177e4SLinus Torvalds
31da177e4SLinus Torvaldssource "lib/Kconfig.debug"
41da177e4SLinus Torvalds
5087aaffcSNicolas Pitreconfig STRICT_DEVMEM
6087aaffcSNicolas Pitre	bool "Filter access to /dev/mem"
7087aaffcSNicolas Pitre	depends on MMU
8087aaffcSNicolas Pitre	---help---
9087aaffcSNicolas Pitre	  If this option is disabled, you allow userspace (root) access to all
10087aaffcSNicolas Pitre	  of memory, including kernel and userspace memory. Accidental
11087aaffcSNicolas Pitre	  access to this is obviously disastrous, but specific access can
12087aaffcSNicolas Pitre	  be used by people debugging the kernel.
13087aaffcSNicolas Pitre
14087aaffcSNicolas Pitre	  If this option is switched on, the /dev/mem file only allows
15087aaffcSNicolas Pitre	  userspace access to memory mapped peripherals.
16087aaffcSNicolas Pitre
17087aaffcSNicolas Pitre          If in doubt, say Y.
18087aaffcSNicolas Pitre
19adf8b37bSCatalin Marinas# RMK wants arm kernels compiled with frame pointers or stack unwinding.
201da177e4SLinus Torvalds# If you know what you are doing and are willing to live without stack
211da177e4SLinus Torvalds# traces, you can get a slightly smaller kernel by setting this option to
221da177e4SLinus Torvalds# n, but then RMK will have to kill you ;).
231da177e4SLinus Torvaldsconfig FRAME_POINTER
241da177e4SLinus Torvalds	bool
2516c79651SCatalin Marinas	depends on !THUMB2_KERNEL
260e341af8SRabin Vincent	default y if !ARM_UNWIND || FUNCTION_GRAPH_TRACER
271da177e4SLinus Torvalds	help
281da177e4SLinus Torvalds	  If you say N here, the resulting kernel will be slightly smaller and
29adf8b37bSCatalin Marinas	  faster. However, if neither FRAME_POINTER nor ARM_UNWIND are enabled,
30adf8b37bSCatalin Marinas	  when a problem occurs with the kernel, the information that is
31adf8b37bSCatalin Marinas	  reported is severely limited.
32adf8b37bSCatalin Marinas
33adf8b37bSCatalin Marinasconfig ARM_UNWIND
344a50bfe3SRussell King	bool "Enable stack unwinding support (EXPERIMENTAL)"
35d6f94fa0SKees Cook	depends on AEABI
36adf8b37bSCatalin Marinas	default y
37adf8b37bSCatalin Marinas	help
38adf8b37bSCatalin Marinas	  This option enables stack unwinding support in the kernel
39adf8b37bSCatalin Marinas	  using the information automatically generated by the
40adf8b37bSCatalin Marinas	  compiler. The resulting kernel image is slightly bigger but
41adf8b37bSCatalin Marinas	  the performance is not affected. Currently, this feature
42adf8b37bSCatalin Marinas	  only works with EABI compilers. If unsure say Y.
431da177e4SLinus Torvalds
4409bfafacSRabin Vincentconfig OLD_MCOUNT
4509bfafacSRabin Vincent	bool
4609bfafacSRabin Vincent	depends on FUNCTION_TRACER && FRAME_POINTER
4709bfafacSRabin Vincent	default y
4809bfafacSRabin Vincent
491da177e4SLinus Torvaldsconfig DEBUG_USER
501da177e4SLinus Torvalds	bool "Verbose user fault messages"
511da177e4SLinus Torvalds	help
521da177e4SLinus Torvalds	  When a user program crashes due to an exception, the kernel can
531da177e4SLinus Torvalds	  print a brief message explaining what the problem was. This is
541da177e4SLinus Torvalds	  sometimes helpful for debugging but serves no purpose on a
551da177e4SLinus Torvalds	  production system. Most people should say N here.
561da177e4SLinus Torvalds
571da177e4SLinus Torvalds	  In addition, you need to pass user_debug=N on the kernel command
581da177e4SLinus Torvalds	  line to enable this feature.  N consists of the sum of:
591da177e4SLinus Torvalds
601da177e4SLinus Torvalds	      1 - undefined instruction events
611da177e4SLinus Torvalds	      2 - system calls
621da177e4SLinus Torvalds	      4 - invalid data aborts
631da177e4SLinus Torvalds	      8 - SIGSEGV faults
641da177e4SLinus Torvalds	     16 - SIGBUS faults
651da177e4SLinus Torvalds
661da177e4SLinus Torvalds# These options are only for real kernel hackers who want to get their hands dirty.
671da177e4SLinus Torvaldsconfig DEBUG_LL
684f5ef922SWill Deacon	bool "Kernel low-level debugging functions (read help!)"
691da177e4SLinus Torvalds	depends on DEBUG_KERNEL
701da177e4SLinus Torvalds	help
7135efb606SRussell King	  Say Y here to include definitions of printascii, printch, printhex
721da177e4SLinus Torvalds	  in the kernel.  This is helpful if you are debugging code that
731da177e4SLinus Torvalds	  executes before the console is initialized.
741da177e4SLinus Torvalds
754f5ef922SWill Deacon	  Note that selecting this option will limit the kernel to a single
764f5ef922SWill Deacon	  UART definition, as specified below. Attempting to boot the kernel
774f5ef922SWill Deacon	  image on a different platform *will not work*, so this option should
784f5ef922SWill Deacon	  not be enabled for kernels that are intended to be portable.
794f5ef922SWill Deacon
8017916b28SWill Deaconchoice
8117916b28SWill Deacon	prompt "Kernel low-level debugging port"
8217916b28SWill Deacon	depends on DEBUG_LL
8317916b28SWill Deacon
8413079a73SJean-Christophe PLAGNIOL-VILLARD	config AT91_DEBUG_LL_DBGU0
8513079a73SJean-Christophe PLAGNIOL-VILLARD		bool "Kernel low-level debugging on rm9200, 9260/9g20, 9261/9g10 and 9rl"
8613079a73SJean-Christophe PLAGNIOL-VILLARD		depends on HAVE_AT91_DBGU0
8713079a73SJean-Christophe PLAGNIOL-VILLARD
8813079a73SJean-Christophe PLAGNIOL-VILLARD	config AT91_DEBUG_LL_DBGU1
899918ceafSJean-Christophe PLAGNIOL-VILLARD		bool "Kernel low-level debugging on 9263 and 9g45"
9013079a73SJean-Christophe PLAGNIOL-VILLARD		depends on HAVE_AT91_DBGU1
9113079a73SJean-Christophe PLAGNIOL-VILLARD
92164acf96SStephen Boyd	config DEBUG_CLPS711X_UART1
93164acf96SStephen Boyd		bool "Kernel low-level debugging messages via UART1"
94164acf96SStephen Boyd		depends on ARCH_CLPS711X
95164acf96SStephen Boyd		help
96164acf96SStephen Boyd		  Say Y here if you want the debug print routines to direct
97164acf96SStephen Boyd		  their output to the first serial port on these devices.
9817916b28SWill Deacon
9917916b28SWill Deacon	config DEBUG_CLPS711X_UART2
10017916b28SWill Deacon		bool "Kernel low-level debugging messages via UART2"
10117916b28SWill Deacon		depends on ARCH_CLPS711X
10217916b28SWill Deacon		help
10317916b28SWill Deacon		  Say Y here if you want the debug print routines to direct
10417916b28SWill Deacon		  their output to the second serial port on these devices.
10517916b28SWill Deacon
106477099f1SUwe Kleine-König	config DEBUG_DAVINCI_DA8XX_UART1
107477099f1SUwe Kleine-König		bool "Kernel low-level debugging on DaVinci DA8XX using UART1"
108477099f1SUwe Kleine-König		depends on ARCH_DAVINCI_DA8XX
109477099f1SUwe Kleine-König		help
110477099f1SUwe Kleine-König		  Say Y here if you want the debug print routines to direct
111477099f1SUwe Kleine-König		  their output to UART1 serial port on DaVinci DA8XX devices.
112477099f1SUwe Kleine-König
113477099f1SUwe Kleine-König	config DEBUG_DAVINCI_DA8XX_UART2
114477099f1SUwe Kleine-König		bool "Kernel low-level debugging on DaVinci DA8XX using UART2"
115477099f1SUwe Kleine-König		depends on ARCH_DAVINCI_DA8XX
116477099f1SUwe Kleine-König		help
117477099f1SUwe Kleine-König		  Say Y here if you want the debug print routines to direct
118477099f1SUwe Kleine-König		  their output to UART2 serial port on DaVinci DA8XX devices.
119477099f1SUwe Kleine-König
120477099f1SUwe Kleine-König	config DEBUG_DAVINCI_DMx_UART0
121477099f1SUwe Kleine-König		bool "Kernel low-level debugging on DaVinci DMx using UART0"
122477099f1SUwe Kleine-König		depends on ARCH_DAVINCI_DMx
123477099f1SUwe Kleine-König		help
124477099f1SUwe Kleine-König		  Say Y here if you want the debug print routines to direct
125477099f1SUwe Kleine-König		  their output to UART0 serial port on DaVinci DMx devices.
126477099f1SUwe Kleine-König
127477099f1SUwe Kleine-König	config DEBUG_DAVINCI_TNETV107X_UART1
128477099f1SUwe Kleine-König		bool "Kernel low-level debugging on DaVinci TNETV107x using UART1"
129477099f1SUwe Kleine-König		depends on ARCH_DAVINCI_TNETV107X
130477099f1SUwe Kleine-König		help
131477099f1SUwe Kleine-König		  Say Y here if you want the debug print routines to direct
132477099f1SUwe Kleine-König		  their output to UART1 serial port on DaVinci TNETV107X
133477099f1SUwe Kleine-König		  devices.
134477099f1SUwe Kleine-König
135aaf5e0beSNick Bowler	config DEBUG_ZYNQ_UART0
136aaf5e0beSNick Bowler		bool "Kernel low-level debugging on Xilinx Zynq using UART0"
137aaf5e0beSNick Bowler		depends on ARCH_ZYNQ
138aaf5e0beSNick Bowler		help
139aaf5e0beSNick Bowler		  Say Y here if you want the debug print routines to direct
140aaf5e0beSNick Bowler		  their output to UART0 on the Zynq platform.
141aaf5e0beSNick Bowler
142aaf5e0beSNick Bowler	config DEBUG_ZYNQ_UART1
143aaf5e0beSNick Bowler		bool "Kernel low-level debugging on Xilinx Zynq using UART1"
144aaf5e0beSNick Bowler		depends on ARCH_ZYNQ
145aaf5e0beSNick Bowler		help
146aaf5e0beSNick Bowler		  Say Y here if you want the debug print routines to direct
147aaf5e0beSNick Bowler		  their output to UART1 on the Zynq platform.
148aaf5e0beSNick Bowler
149aaf5e0beSNick Bowler		  If you have a ZC702 board and want early boot messages to
150aaf5e0beSNick Bowler		  appear on the USB serial adaptor, select this option.
151aaf5e0beSNick Bowler
152e76f4750SRussell King	config DEBUG_DC21285_PORT
153e76f4750SRussell King		bool "Kernel low-level debugging messages via footbridge serial port"
154e76f4750SRussell King		depends on FOOTBRIDGE
155e76f4750SRussell King		help
156e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
157e76f4750SRussell King		  their output to the serial port in the DC21285 (Footbridge).
158e76f4750SRussell King
159e76f4750SRussell King	config DEBUG_FOOTBRIDGE_COM1
160e76f4750SRussell King		bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"
161e76f4750SRussell King		depends on FOOTBRIDGE
162e76f4750SRussell King		help
163e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
164e76f4750SRussell King		  their output to the 8250 at PCI COM1.
165e76f4750SRussell King
166220e6cf7SRob Herring	config DEBUG_HIGHBANK_UART
167220e6cf7SRob Herring		bool "Kernel low-level debugging messages via Highbank UART"
168220e6cf7SRob Herring		depends on ARCH_HIGHBANK
169220e6cf7SRob Herring		help
170220e6cf7SRob Herring		  Say Y here if you want the debug print routines to direct
171220e6cf7SRob Herring		  their output to the UART on Highbank based devices.
172220e6cf7SRob Herring
173f350b861SShawn Guo	config DEBUG_IMX1_UART
174f350b861SShawn Guo		bool "i.MX1 Debug UART"
175f350b861SShawn Guo		depends on SOC_IMX1
176f350b861SShawn Guo		help
177f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
178f350b861SShawn Guo		  on i.MX1.
179f350b861SShawn Guo
180f350b861SShawn Guo	config DEBUG_IMX23_UART
181f350b861SShawn Guo		bool "i.MX23 Debug UART"
182f350b861SShawn Guo		depends on SOC_IMX23
183f350b861SShawn Guo		help
184f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
185f350b861SShawn Guo		  on i.MX23.
186f350b861SShawn Guo
187f350b861SShawn Guo	config DEBUG_IMX25_UART
188f350b861SShawn Guo		bool "i.MX25 Debug UART"
189f350b861SShawn Guo		depends on SOC_IMX25
190f350b861SShawn Guo		help
191f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
192f350b861SShawn Guo		  on i.MX25.
193f350b861SShawn Guo
194f350b861SShawn Guo	config DEBUG_IMX21_IMX27_UART
195f350b861SShawn Guo		bool "i.MX21 and i.MX27 Debug UART"
196f350b861SShawn Guo		depends on SOC_IMX21 || SOC_IMX27
197f350b861SShawn Guo		help
198f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
199f350b861SShawn Guo		  on i.MX21 or i.MX27.
200f350b861SShawn Guo
201f350b861SShawn Guo	config DEBUG_IMX28_UART
202f350b861SShawn Guo		bool "i.MX28 Debug UART"
203f350b861SShawn Guo		depends on SOC_IMX28
204f350b861SShawn Guo		help
205f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
206f350b861SShawn Guo		  on i.MX28.
207f350b861SShawn Guo
2084ad625d4SShawn Guo	config DEBUG_IMX31_UART
2094ad625d4SShawn Guo		bool "i.MX31 Debug UART"
2104ad625d4SShawn Guo		depends on SOC_IMX31
211f350b861SShawn Guo		help
212f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
2134ad625d4SShawn Guo		  on i.MX31.
2144ad625d4SShawn Guo
2154ad625d4SShawn Guo	config DEBUG_IMX35_UART
2164ad625d4SShawn Guo		bool "i.MX35 Debug UART"
2174ad625d4SShawn Guo		depends on SOC_IMX35
2184ad625d4SShawn Guo		help
2194ad625d4SShawn Guo		  Say Y here if you want kernel low-level debugging support
2204ad625d4SShawn Guo		  on i.MX35.
221f350b861SShawn Guo
222f350b861SShawn Guo	config DEBUG_IMX51_UART
223f350b861SShawn Guo		bool "i.MX51 Debug UART"
224f350b861SShawn Guo		depends on SOC_IMX51
225f350b861SShawn Guo		help
226f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
227f350b861SShawn Guo		  on i.MX51.
228f350b861SShawn Guo
2297356420cSFabio Estevam	config DEBUG_IMX53_UART
2307356420cSFabio Estevam		bool "i.MX53 Debug UART"
2317356420cSFabio Estevam		depends on SOC_IMX53
232f350b861SShawn Guo		help
233f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
2347356420cSFabio Estevam		  on i.MX53.
235f350b861SShawn Guo
23649c9e60eSShawn Guo	config DEBUG_IMX6Q_UART
23749c9e60eSShawn Guo		bool "i.MX6Q Debug UART"
238785d7fabSDirk Behme		depends on SOC_IMX6Q
239785d7fabSDirk Behme		help
240785d7fabSDirk Behme		  Say Y here if you want kernel low-level debugging support
24149c9e60eSShawn Guo		  on i.MX6Q.
242bac89d75SShawn Guo
243fa4cd2a8SHaojian Zhuang	config DEBUG_MMP_UART2
244fa4cd2a8SHaojian Zhuang		bool "Kernel low-level debugging message via MMP UART2"
245fa4cd2a8SHaojian Zhuang		depends on ARCH_MMP
246fa4cd2a8SHaojian Zhuang		help
247fa4cd2a8SHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
248fa4cd2a8SHaojian Zhuang		  on MMP UART2.
249fa4cd2a8SHaojian Zhuang
250fa4cd2a8SHaojian Zhuang	config DEBUG_MMP_UART3
251fa4cd2a8SHaojian Zhuang		bool "Kernel low-level debugging message via MMP UART3"
252fa4cd2a8SHaojian Zhuang		depends on ARCH_MMP
253fa4cd2a8SHaojian Zhuang		help
254fa4cd2a8SHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
255fa4cd2a8SHaojian Zhuang		  on MMP UART3.
256fa4cd2a8SHaojian Zhuang
257650e3f0dSStephen Boyd	config DEBUG_MSM_UART1
258650e3f0dSStephen Boyd		bool "Kernel low-level debugging messages via MSM UART1"
259650e3f0dSStephen Boyd		depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50
260650e3f0dSStephen Boyd		help
261650e3f0dSStephen Boyd		  Say Y here if you want the debug print routines to direct
262650e3f0dSStephen Boyd		  their output to the first serial port on MSM devices.
263650e3f0dSStephen Boyd
264650e3f0dSStephen Boyd	config DEBUG_MSM_UART2
265650e3f0dSStephen Boyd		bool "Kernel low-level debugging messages via MSM UART2"
266650e3f0dSStephen Boyd		depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50
267650e3f0dSStephen Boyd		help
268650e3f0dSStephen Boyd		  Say Y here if you want the debug print routines to direct
269650e3f0dSStephen Boyd		  their output to the second serial port on MSM devices.
270650e3f0dSStephen Boyd
271650e3f0dSStephen Boyd	config DEBUG_MSM_UART3
272650e3f0dSStephen Boyd		bool "Kernel low-level debugging messages via MSM UART3"
273650e3f0dSStephen Boyd		depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50
274650e3f0dSStephen Boyd		help
275650e3f0dSStephen Boyd		  Say Y here if you want the debug print routines to direct
276650e3f0dSStephen Boyd		  their output to the third serial port on MSM devices.
277650e3f0dSStephen Boyd
278a3d3ef9dSStephen Boyd	config DEBUG_MSM8660_UART
279a3d3ef9dSStephen Boyd		bool "Kernel low-level debugging messages via MSM 8660 UART"
280a3d3ef9dSStephen Boyd		depends on ARCH_MSM8X60
281a3d3ef9dSStephen Boyd		select MSM_HAS_DEBUG_UART_HS
282a3d3ef9dSStephen Boyd		help
283a3d3ef9dSStephen Boyd		  Say Y here if you want the debug print routines to direct
284a3d3ef9dSStephen Boyd		  their output to the serial port on MSM 8660 devices.
285a3d3ef9dSStephen Boyd
286a3d3ef9dSStephen Boyd	config DEBUG_MSM8960_UART
287a3d3ef9dSStephen Boyd		bool "Kernel low-level debugging messages via MSM 8960 UART"
288a3d3ef9dSStephen Boyd		depends on ARCH_MSM8960
289a3d3ef9dSStephen Boyd		select MSM_HAS_DEBUG_UART_HS
290a3d3ef9dSStephen Boyd		help
291a3d3ef9dSStephen Boyd		  Say Y here if you want the debug print routines to direct
292a3d3ef9dSStephen Boyd		  their output to the serial port on MSM 8960 devices.
293a3d3ef9dSStephen Boyd
294bfd5af99SRob Herring	config DEBUG_MVEBU_UART
295bfd5af99SRob Herring		bool "Kernel low-level debugging messages via MVEBU UART"
296bfd5af99SRob Herring		depends on ARCH_MVEBU
297bfd5af99SRob Herring		help
298bfd5af99SRob Herring		  Say Y here if you want kernel low-level debugging support
299bfd5af99SRob Herring		  on MVEBU based platforms.
300bfd5af99SRob Herring
301808b7e07STony Lindgren	config DEBUG_OMAP2PLUS_UART
302808b7e07STony Lindgren		bool "Kernel low-level debugging messages via OMAP2PLUS UART"
303808b7e07STony Lindgren		depends on ARCH_OMAP2PLUS
304808b7e07STony Lindgren		help
305808b7e07STony Lindgren		  Say Y here if you want kernel low-level debugging support
306808b7e07STony Lindgren		  on OMAP2PLUS based platforms.
307808b7e07STony Lindgren
30859bba2a9SRob Herring	config DEBUG_PICOXCELL_UART
30959bba2a9SRob Herring		depends on ARCH_PICOXCELL
31059bba2a9SRob Herring		bool "Use PicoXcell UART for low-level debug"
31159bba2a9SRob Herring		help
31259bba2a9SRob Herring		  Say Y here if you want kernel low-level debugging support
31359bba2a9SRob Herring		  on PicoXcell based platforms.
31459bba2a9SRob Herring
315e76f4750SRussell King	config DEBUG_REALVIEW_STD_PORT
316e76f4750SRussell King		bool "RealView Default UART"
317e76f4750SRussell King		depends on ARCH_REALVIEW
318e76f4750SRussell King		help
319e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
320e76f4750SRussell King		  their output to the serial port on RealView EB, PB11MP, PBA8
321e76f4750SRussell King		  and PBX platforms.
322e76f4750SRussell King
323e76f4750SRussell King	config DEBUG_REALVIEW_PB1176_PORT
324e76f4750SRussell King		bool "RealView PB1176 UART"
325e76f4750SRussell King		depends on MACH_REALVIEW_PB1176
326e76f4750SRussell King		help
327e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
328e76f4750SRussell King		  their output to the standard serial port on the RealView
329e76f4750SRussell King		  PB1176 platform.
330e76f4750SRussell King
331e76f4750SRussell King	config DEBUG_S3C_UART0
332e76f4750SRussell King		depends on PLAT_SAMSUNG
333e76f4750SRussell King		bool "Use S3C UART 0 for low-level debug"
334e76f4750SRussell King		help
335e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
336e76f4750SRussell King		  their output to UART 0. The port must have been initialised
337e76f4750SRussell King		  by the boot-loader before use.
338e76f4750SRussell King
339e76f4750SRussell King		  The uncompressor code port configuration is now handled
340e76f4750SRussell King		  by CONFIG_S3C_LOWLEVEL_UART_PORT.
341e76f4750SRussell King
342e76f4750SRussell King	config DEBUG_S3C_UART1
343e76f4750SRussell King		depends on PLAT_SAMSUNG
344e76f4750SRussell King		bool "Use S3C UART 1 for low-level debug"
345e76f4750SRussell King		help
346e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
347e76f4750SRussell King		  their output to UART 1. The port must have been initialised
348e76f4750SRussell King		  by the boot-loader before use.
349e76f4750SRussell King
350e76f4750SRussell King		  The uncompressor code port configuration is now handled
351e76f4750SRussell King		  by CONFIG_S3C_LOWLEVEL_UART_PORT.
352e76f4750SRussell King
353e76f4750SRussell King	config DEBUG_S3C_UART2
354e76f4750SRussell King		depends on PLAT_SAMSUNG
355e76f4750SRussell King		bool "Use S3C UART 2 for low-level debug"
356e76f4750SRussell King		help
357e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
358e76f4750SRussell King		  their output to UART 2. The port must have been initialised
359e76f4750SRussell King		  by the boot-loader before use.
360e76f4750SRussell King
361e76f4750SRussell King		  The uncompressor code port configuration is now handled
362e76f4750SRussell King		  by CONFIG_S3C_LOWLEVEL_UART_PORT.
363e76f4750SRussell King
3645fa23ddeSOlof Johansson	config DEBUG_S3C_UART3
3655fa23ddeSOlof Johansson		depends on PLAT_SAMSUNG && ARCH_EXYNOS
3665fa23ddeSOlof Johansson		bool "Use S3C UART 3 for low-level debug"
3675fa23ddeSOlof Johansson		help
3685fa23ddeSOlof Johansson		  Say Y here if you want the debug print routines to direct
3695fa23ddeSOlof Johansson		  their output to UART 3. The port must have been initialised
3705fa23ddeSOlof Johansson		  by the boot-loader before use.
3715fa23ddeSOlof Johansson
3725fa23ddeSOlof Johansson		  The uncompressor code port configuration is now handled
3735fa23ddeSOlof Johansson		  by CONFIG_S3C_LOWLEVEL_UART_PORT.
3745fa23ddeSOlof Johansson
3756111bf7cSRob Herring	config DEBUG_SOCFPGA_UART
3766111bf7cSRob Herring		depends on ARCH_SOCFPGA
3776111bf7cSRob Herring		bool "Use SOCFPGA UART for low-level debug"
3786111bf7cSRob Herring		help
3796111bf7cSRob Herring		  Say Y here if you want kernel low-level debugging support
3806111bf7cSRob Herring		  on SOCFPGA based platforms.
3816111bf7cSRob Herring
382aa25115aSStefan Roese	config DEBUG_SUNXI_UART0
383aa25115aSStefan Roese		bool "Kernel low-level debugging messages via sunXi UART0"
384aa25115aSStefan Roese		depends on ARCH_SUNXI
385aa25115aSStefan Roese		help
386aa25115aSStefan Roese		  Say Y here if you want kernel low-level debugging support
387aa25115aSStefan Roese		  on Allwinner A1X based platforms on the UART0.
388aa25115aSStefan Roese
389cb84fa18SMaxime Ripard	config DEBUG_SUNXI_UART1
390cb84fa18SMaxime Ripard		bool "Kernel low-level debugging messages via sunXi UART1"
391cb84fa18SMaxime Ripard		depends on ARCH_SUNXI
392cb84fa18SMaxime Ripard		help
393cb84fa18SMaxime Ripard		  Say Y here if you want kernel low-level debugging support
394cb84fa18SMaxime Ripard		  on Allwinner A1X based platforms on the UART1.
395cb84fa18SMaxime Ripard
39646067803SStephen Warren	config DEBUG_TEGRA_UART
39746067803SStephen Warren		depends on ARCH_TEGRA
39846067803SStephen Warren		bool "Use Tegra UART for low-level debug"
39946067803SStephen Warren		help
40046067803SStephen Warren		  Say Y here if you want kernel low-level debugging support
40146067803SStephen Warren		  on Tegra based platforms.
40246067803SStephen Warren
4037f46a107SBarry Song	config DEBUG_SIRFPRIMA2_UART1
4047f46a107SBarry Song		bool "Kernel low-level debugging messages via SiRFprimaII UART1"
4057f46a107SBarry Song		depends on ARCH_PRIMA2
4067f46a107SBarry Song		help
4077f46a107SBarry Song		  Say Y here if you want the debug print routines to direct
4087f46a107SBarry Song		  their output to the uart1 port on SiRFprimaII devices.
4097f46a107SBarry Song
4107f46a107SBarry Song	config DEBUG_SIRFMARCO_UART1
4117f46a107SBarry Song		bool "Kernel low-level debugging messages via SiRFmarco UART1"
4127f46a107SBarry Song		depends on ARCH_MARCO
4137f46a107SBarry Song		help
4147f46a107SBarry Song		  Say Y here if you want the debug print routines to direct
4157f46a107SBarry Song		  their output to the uart1 port on SiRFmarco devices.
4167f46a107SBarry Song
4171b820eafSPawel Moll	config DEBUG_VEXPRESS_UART0_DETECT
4181b820eafSPawel Moll		bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
4191b820eafSPawel Moll		depends on ARCH_VEXPRESS && CPU_CP15_MMU
4201b820eafSPawel Moll		help
4211b820eafSPawel Moll		  This option enables a simple heuristic which tries to determine
4221b820eafSPawel Moll		  the motherboard's memory map variant (original or RS1) and then
4231b820eafSPawel Moll		  choose the relevant UART0 base address.
4241b820eafSPawel Moll
4251b820eafSPawel Moll		  Note that this will only work with standard A-class core tiles,
4261b820eafSPawel Moll		  and may fail with non-standard SMM or custom software models.
4271b820eafSPawel Moll
4281b820eafSPawel Moll	config DEBUG_VEXPRESS_UART0_CA9
4291b820eafSPawel Moll		bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)"
4301b820eafSPawel Moll		depends on ARCH_VEXPRESS
4311b820eafSPawel Moll		help
4321b820eafSPawel Moll		  This option selects UART0 at 0x10009000. Except for custom models,
4331b820eafSPawel Moll		  this applies only to the V2P-CA9 tile.
4341b820eafSPawel Moll
4351b820eafSPawel Moll	config DEBUG_VEXPRESS_UART0_RS1
4361b820eafSPawel Moll		bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)"
4371b820eafSPawel Moll		depends on ARCH_VEXPRESS
4381b820eafSPawel Moll		help
4391b820eafSPawel Moll		  This option selects UART0 at 0x1c090000. This applies to most
4401b820eafSPawel Moll		  of the tiles using the RS1 memory map, including all new A-class
4411b820eafSPawel Moll		  core tiles, FPGA-based SMMs and software models.
4421b820eafSPawel Moll
443b61a2722STony Prisk	config DEBUG_VT8500_UART0
444b61a2722STony Prisk		bool "Use UART0 on VIA/Wondermedia SoCs"
445b61a2722STony Prisk		depends on ARCH_VT8500
446b61a2722STony Prisk		help
447b61a2722STony Prisk		  This option selects UART0 on VIA/Wondermedia System-on-a-chip
448b61a2722STony Prisk		  devices, including VT8500, WM8505, WM8650 and WM8850.
449b61a2722STony Prisk
450e76f4750SRussell King	config DEBUG_LL_UART_NONE
451e76f4750SRussell King		bool "No low-level debugging UART"
452387798b3SRob Herring		depends on !ARCH_MULTIPLATFORM
453e76f4750SRussell King		help
454e76f4750SRussell King		  Say Y here if your platform doesn't provide a UART option
455e76f4750SRussell King		  below. This relies on your platform choosing the right UART
456e76f4750SRussell King		  definition internally in order for low-level debugging to
457e76f4750SRussell King		  work.
458e76f4750SRussell King
459e76f4750SRussell King	config DEBUG_ICEDCC
460e76f4750SRussell King		bool "Kernel low-level debugging via EmbeddedICE DCC channel"
461e76f4750SRussell King		help
462e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
463e76f4750SRussell King		  their output to the EmbeddedICE macrocell's DCC channel using
464e76f4750SRussell King		  co-processor 14. This is known to work on the ARM9 style ICE
465e76f4750SRussell King		  channel and on the XScale with the PEEDI.
466e76f4750SRussell King
467e76f4750SRussell King		  Note that the system will appear to hang during boot if there
468e76f4750SRussell King		  is nothing connected to read from the DCC.
469e76f4750SRussell King
470b0df8986SRussell King	config DEBUG_SEMIHOSTING
47162194bdaSStephen Boyd		bool "Kernel low-level debug output via semihosting I/O"
472b0df8986SRussell King		help
473b0df8986SRussell King		  Semihosting enables code running on an ARM target to use
474b0df8986SRussell King		  the I/O facilities on a host debugger/emulator through a
47562194bdaSStephen Boyd		  simple SVC call. The host debugger or emulator must have
476b0df8986SRussell King		  semihosting enabled for the special svc call to be trapped
477b0df8986SRussell King		  otherwise the kernel will crash.
478b0df8986SRussell King
479b0df8986SRussell King		  This is known to work with OpenOCD, as well as
480b0df8986SRussell King		  ARM's Fast Models, or any other controlling environment
481b0df8986SRussell King		  that implements semihosting.
482b0df8986SRussell King
483b0df8986SRussell King		  For more details about semihosting, please see
484b0df8986SRussell King		  chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd.
485b0df8986SRussell King
48617916b28SWill Deaconendchoice
48717916b28SWill Deacon
488f8c95fe6SShawn Guoconfig DEBUG_IMX_UART_PORT
489f8c95fe6SShawn Guo	int "i.MX Debug UART Port Selection" if DEBUG_IMX1_UART || \
490f8c95fe6SShawn Guo						DEBUG_IMX25_UART || \
491f8c95fe6SShawn Guo						DEBUG_IMX21_IMX27_UART || \
492f8c95fe6SShawn Guo						DEBUG_IMX31_UART || \
493f8c95fe6SShawn Guo						DEBUG_IMX35_UART || \
494f8c95fe6SShawn Guo						DEBUG_IMX51_UART || \
495f8c95fe6SShawn Guo						DEBUG_IMX50_IMX53_UART || \
496f8c95fe6SShawn Guo						DEBUG_IMX6Q_UART
49749c9e60eSShawn Guo	default 1
49849c9e60eSShawn Guo	help
49949c9e60eSShawn Guo	  Choose UART port on which kernel low-level debug messages
50049c9e60eSShawn Guo	  should be output.
50149c9e60eSShawn Guo
50246067803SStephen Warrenchoice
50346067803SStephen Warren	prompt "Low-level debug console UART"
504808b7e07STony Lindgren	depends on DEBUG_OMAP2PLUS_UART
505808b7e07STony Lindgren
506808b7e07STony Lindgren	config DEBUG_OMAP2UART1
507808b7e07STony Lindgren		bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
508808b7e07STony Lindgren		help
509808b7e07STony Lindgren		  This covers at least h4, 2430sdp, 3430sdp, 3630sdp,
510808b7e07STony Lindgren		  omap3 torpedo and 3530 lv som.
511808b7e07STony Lindgren
512808b7e07STony Lindgren	config DEBUG_OMAP2UART2
513808b7e07STony Lindgren		bool "OMAP2/3/4 UART2"
514808b7e07STony Lindgren
515808b7e07STony Lindgren	config DEBUG_OMAP2UART3
516808b7e07STony Lindgren		bool "OMAP2 UART3 (n8x0)"
517808b7e07STony Lindgren
518808b7e07STony Lindgren	config DEBUG_OMAP3UART3
519808b7e07STony Lindgren		bool "OMAP3 UART3 (most omap3 boards)"
520808b7e07STony Lindgren		help
521808b7e07STony Lindgren		  This covers at least cm_t3x, beagle, crane, devkit8000,
522808b7e07STony Lindgren		  igep00x0, ldp, n900, n9(50), pandora, overo, touchbook,
523808b7e07STony Lindgren		  and 3517evm.
524808b7e07STony Lindgren
525808b7e07STony Lindgren	config DEBUG_OMAP4UART3
526808b7e07STony Lindgren		bool "OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)"
527808b7e07STony Lindgren
528808b7e07STony Lindgren	config DEBUG_OMAP3UART4
529808b7e07STony Lindgren		bool "OMAP36XX UART4"
530808b7e07STony Lindgren
531808b7e07STony Lindgren	config DEBUG_OMAP4UART4
532808b7e07STony Lindgren		bool "OMAP4/5 UART4"
533808b7e07STony Lindgren
534808b7e07STony Lindgren	config DEBUG_TI81XXUART1
535808b7e07STony Lindgren		bool "TI81XX UART1 (ti8148evm)"
536808b7e07STony Lindgren
537808b7e07STony Lindgren	config DEBUG_TI81XXUART2
538808b7e07STony Lindgren		bool "TI81XX UART2"
539808b7e07STony Lindgren
540808b7e07STony Lindgren	config DEBUG_TI81XXUART3
541808b7e07STony Lindgren		bool "TI81XX UART3 (ti8168evm)"
542808b7e07STony Lindgren
543808b7e07STony Lindgren	config DEBUG_AM33XXUART1
544808b7e07STony Lindgren		bool "AM33XX UART1"
545808b7e07STony Lindgren
546808b7e07STony Lindgren	config DEBUG_ZOOM_UART
547808b7e07STony Lindgren		bool "Zoom2/3 UART"
548808b7e07STony Lindgrenendchoice
549808b7e07STony Lindgren
550808b7e07STony Lindgrenchoice
551808b7e07STony Lindgren	prompt "Low-level debug console UART"
55246067803SStephen Warren	depends on DEBUG_LL && DEBUG_TEGRA_UART
55346067803SStephen Warren
55446067803SStephen Warren	config TEGRA_DEBUG_UART_AUTO_ODMDATA
55546067803SStephen Warren	bool "Via ODMDATA"
55646067803SStephen Warren	help
55746067803SStephen Warren	  Automatically determines which UART to use for low-level debug based
55846067803SStephen Warren	  on the ODMDATA value. This value is part of the BCT, and is written
55946067803SStephen Warren	  to the boot memory device using nvflash, or other flashing tool.
56046067803SStephen Warren	  When bits 19:18 are 3, then bits 17:15 indicate which UART to use;
56146067803SStephen Warren	  0/1/2/3/4 are UART A/B/C/D/E.
56246067803SStephen Warren
56346067803SStephen Warren	config TEGRA_DEBUG_UARTA
56446067803SStephen Warren		bool "UART A"
56546067803SStephen Warren
56646067803SStephen Warren	config TEGRA_DEBUG_UARTB
56746067803SStephen Warren		bool "UART B"
56846067803SStephen Warren
56946067803SStephen Warren	config TEGRA_DEBUG_UARTC
57046067803SStephen Warren		bool "UART C"
57146067803SStephen Warren
57246067803SStephen Warren	config TEGRA_DEBUG_UARTD
57346067803SStephen Warren		bool "UART D"
57446067803SStephen Warren
57546067803SStephen Warren	config TEGRA_DEBUG_UARTE
57646067803SStephen Warren		bool "UART E"
57746067803SStephen Warren
57846067803SStephen Warrenendchoice
57946067803SStephen Warren
58091a9fec0SRob Herringconfig DEBUG_LL_INCLUDE
58191a9fec0SRob Herring	string
58291a9fec0SRob Herring	default "debug/icedcc.S" if DEBUG_ICEDCC
5836dde5ac5SShawn Guo	default "debug/imx.S" if DEBUG_IMX1_UART || \
5846dde5ac5SShawn Guo				 DEBUG_IMX25_UART || \
5856dde5ac5SShawn Guo				 DEBUG_IMX21_IMX27_UART || \
5864ad625d4SShawn Guo				 DEBUG_IMX31_UART || \
5874ad625d4SShawn Guo				 DEBUG_IMX35_UART || \
5886dde5ac5SShawn Guo				 DEBUG_IMX51_UART || \
5897356420cSFabio Estevam				 DEBUG_IMX53_UART ||\
59049c9e60eSShawn Guo				 DEBUG_IMX6Q_UART
5912e9bb084SRob Herring	default "debug/highbank.S" if DEBUG_HIGHBANK_UART
592bfd5af99SRob Herring	default "debug/mvebu.S" if DEBUG_MVEBU_UART
593808b7e07STony Lindgren	default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
59459bba2a9SRob Herring	default "debug/picoxcell.S" if DEBUG_PICOXCELL_UART
5956111bf7cSRob Herring	default "debug/socfpga.S" if DEBUG_SOCFPGA_UART
596aa25115aSStefan Roese	default "debug/sunxi.S" if DEBUG_SUNXI_UART0 || DEBUG_SUNXI_UART1
597fa04e4dbSRob Herring	default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT || \
598fa04e4dbSRob Herring		DEBUG_VEXPRESS_UART0_CA9 || DEBUG_VEXPRESS_UART0_RS1
599b61a2722STony Prisk	default "debug/vt8500.S" if DEBUG_VT8500_UART0
60046067803SStephen Warren	default "debug/tegra.S" if DEBUG_TEGRA_UART
601385f02b1SJosh Cartwright	default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
60291a9fec0SRob Herring	default "mach/debug-macro.S"
60391a9fec0SRob Herring
604*615967b0SShawn Guoconfig UNCOMPRESS_INCLUDE
605*615967b0SShawn Guo	string
606*615967b0SShawn Guo	default "debug/uncompress.h" if ARCH_MULTIPLATFORM
607*615967b0SShawn Guo	default "mach/uncompress.h"
608*615967b0SShawn Guo
60993fd03a8SCatalin Marinasconfig EARLY_PRINTK
61093fd03a8SCatalin Marinas	bool "Early printk"
61193fd03a8SCatalin Marinas	depends on DEBUG_LL
61293fd03a8SCatalin Marinas	help
61393fd03a8SCatalin Marinas	  Say Y here if you want to have an early console using the
61493fd03a8SCatalin Marinas	  kernel low-level debugging functions. Add earlyprintk to your
61593fd03a8SCatalin Marinas	  kernel parameters to enable this console.
61693fd03a8SCatalin Marinas
617c5d6c770SAlexander Shishkinconfig OC_ETM
618c5d6c770SAlexander Shishkin	bool "On-chip ETM and ETB"
61953eebb0dSArnd Bergmann	depends on ARM_AMBA
620c5d6c770SAlexander Shishkin	help
621c5d6c770SAlexander Shishkin	  Enables the on-chip embedded trace macrocell and embedded trace
622c5d6c770SAlexander Shishkin	  buffer driver that will allow you to collect traces of the
623c5d6c770SAlexander Shishkin	  kernel code.
624c5d6c770SAlexander Shishkin
6254189bc71SJon Medhurstconfig ARM_KPROBES_TEST
6264189bc71SJon Medhurst	tristate "Kprobes test module"
6274189bc71SJon Medhurst	depends on KPROBES && MODULES
6284189bc71SJon Medhurst	help
6294189bc71SJon Medhurst	  Perform tests of kprobes API and instruction set simulation.
6304189bc71SJon Medhurst
631575320d6SWill Deaconconfig PID_IN_CONTEXTIDR
632575320d6SWill Deacon	bool "Write the current PID to the CONTEXTIDR register"
633575320d6SWill Deacon	depends on CPU_COPY_V6
634575320d6SWill Deacon	help
635575320d6SWill Deacon	  Enabling this option causes the kernel to write the current PID to
636575320d6SWill Deacon	  the PROCID field of the CONTEXTIDR register, at the expense of some
637575320d6SWill Deacon	  additional instructions during context switch. Say Y here only if you
638575320d6SWill Deacon	  are planning to use hardware trace tools with this kernel.
639575320d6SWill Deacon
6401da177e4SLinus Torvaldsendmenu
641