| menu "Kernel hacking" | 
 |  | 
 | source "lib/Kconfig.debug" | 
 |  | 
 | config ARM64_PTDUMP | 
 | 	bool "Export kernel pagetable layout to userspace via debugfs" | 
 | 	depends on DEBUG_KERNEL | 
 | 	select DEBUG_FS | 
 |         help | 
 | 	  Say Y here if you want to show the kernel pagetable layout in a | 
 | 	  debugfs file. This information is only useful for kernel developers | 
 | 	  who are working in architecture specific areas of the kernel. | 
 | 	  It is probably not a good idea to enable this feature in a production | 
 | 	  kernel. | 
 |  | 
 | 	  If in doubt, say N. | 
 |  | 
 | config PID_IN_CONTEXTIDR | 
 | 	bool "Write the current PID to the CONTEXTIDR register" | 
 | 	help | 
 | 	  Enabling this option causes the kernel to write the current PID to | 
 | 	  the CONTEXTIDR register, at the expense of some additional | 
 | 	  instructions during context switch. Say Y here only if you are | 
 | 	  planning to use hardware trace tools with this kernel. | 
 |  | 
 | config ARM64_RANDOMIZE_TEXT_OFFSET | 
 | 	bool "Randomize TEXT_OFFSET at build time" | 
 | 	help | 
 | 	  Say Y here if you want the image load offset (AKA TEXT_OFFSET) | 
 | 	  of the kernel to be randomized at build-time. When selected, | 
 | 	  this option will cause TEXT_OFFSET to be randomized upon any | 
 | 	  build of the kernel, and the offset will be reflected in the | 
 | 	  text_offset field of the resulting Image. This can be used to | 
 | 	  fuzz-test bootloaders which respect text_offset. | 
 |  | 
 | 	  This option is intended for bootloader and/or kernel testing | 
 | 	  only. Bootloaders must make no assumptions regarding the value | 
 | 	  of TEXT_OFFSET and platforms must not require a specific | 
 | 	  value. | 
 |  | 
 | config DEBUG_SET_MODULE_RONX | 
 | 	bool "Set loadable kernel module data as NX and text as RO" | 
 | 	depends on MODULES | 
 | 	default y | 
 | 	help | 
 | 	  Is this is set, kernel module text and rodata will be made read-only. | 
 | 	  This is to help catch accidental or malicious attempts to change the | 
 | 	  kernel's executable code. | 
 |  | 
 | 	  If in doubt, say Y. | 
 |  | 
 | config DEBUG_RODATA | 
 | 	bool "Make kernel text and rodata read-only" | 
 | 	default y | 
 | 	help | 
 | 	  If this is set, kernel text and rodata will be made read-only. This | 
 | 	  is to help catch accidental or malicious attempts to change the | 
 | 	  kernel's executable code. | 
 |  | 
 | 	  If in doubt, say Y. | 
 |  | 
 | config DEBUG_ALIGN_RODATA | 
 | 	depends on DEBUG_RODATA | 
 | 	bool "Align linker sections up to SECTION_SIZE" | 
 | 	help | 
 | 	  If this option is enabled, sections that may potentially be marked as | 
 | 	  read only or non-executable will be aligned up to the section size of | 
 | 	  the kernel. This prevents sections from being split into pages and | 
 | 	  avoids a potential TLB penalty. The downside is an increase in | 
 | 	  alignment and potentially wasted space. Turn on this option if | 
 | 	  performance is more important than memory pressure. | 
 |  | 
 | 	  If in doubt, say N. | 
 |  | 
 | source "drivers/hwtracing/coresight/Kconfig" | 
 |  | 
 | endmenu |