1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun 3*4882a593Smuzhiyunconfig PPC_DISABLE_WERROR 4*4882a593Smuzhiyun bool "Don't build arch/powerpc code with -Werror" 5*4882a593Smuzhiyun help 6*4882a593Smuzhiyun This option tells the compiler NOT to build the code under 7*4882a593Smuzhiyun arch/powerpc with the -Werror flag (which means warnings 8*4882a593Smuzhiyun are treated as errors). 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun Only enable this if you are hitting a build failure in the 11*4882a593Smuzhiyun arch/powerpc code caused by a warning, and you don't feel 12*4882a593Smuzhiyun inclined to fix it. 13*4882a593Smuzhiyun 14*4882a593Smuzhiyunconfig PPC_WERROR 15*4882a593Smuzhiyun bool 16*4882a593Smuzhiyun depends on !PPC_DISABLE_WERROR 17*4882a593Smuzhiyun default y 18*4882a593Smuzhiyun 19*4882a593Smuzhiyunconfig PRINT_STACK_DEPTH 20*4882a593Smuzhiyun int "Stack depth to print" if DEBUG_KERNEL 21*4882a593Smuzhiyun default 64 22*4882a593Smuzhiyun help 23*4882a593Smuzhiyun This option allows you to set the stack depth that the kernel 24*4882a593Smuzhiyun prints in stack traces. This can be useful if your display is 25*4882a593Smuzhiyun too small and stack traces cause important information to 26*4882a593Smuzhiyun scroll off the screen. 27*4882a593Smuzhiyun 28*4882a593Smuzhiyunconfig HCALL_STATS 29*4882a593Smuzhiyun bool "Hypervisor call instrumentation" 30*4882a593Smuzhiyun depends on PPC_PSERIES && DEBUG_FS && TRACEPOINTS 31*4882a593Smuzhiyun help 32*4882a593Smuzhiyun Adds code to keep track of the number of hypervisor calls made and 33*4882a593Smuzhiyun the amount of time spent in hypervisor calls. Wall time spent in 34*4882a593Smuzhiyun each call is always calculated, and if available CPU cycles spent 35*4882a593Smuzhiyun are also calculated. A directory named hcall_inst is added at the 36*4882a593Smuzhiyun root of the debugfs filesystem. Within the hcall_inst directory 37*4882a593Smuzhiyun are files that contain CPU specific call statistics. 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun This option will add a small amount of overhead to all hypervisor 40*4882a593Smuzhiyun calls. 41*4882a593Smuzhiyun 42*4882a593Smuzhiyunconfig PPC_EMULATED_STATS 43*4882a593Smuzhiyun bool "Emulated instructions tracking" 44*4882a593Smuzhiyun depends on DEBUG_FS 45*4882a593Smuzhiyun help 46*4882a593Smuzhiyun Adds code to keep track of the number of instructions that are 47*4882a593Smuzhiyun emulated by the in-kernel emulator. Counters for the various classes 48*4882a593Smuzhiyun of emulated instructions are available under 49*4882a593Smuzhiyun powerpc/emulated_instructions/ in the root of the debugfs file 50*4882a593Smuzhiyun system. Optionally (controlled by 51*4882a593Smuzhiyun powerpc/emulated_instructions/do_warn in debugfs), rate-limited 52*4882a593Smuzhiyun warnings can be printed to the console when instructions are 53*4882a593Smuzhiyun emulated. 54*4882a593Smuzhiyun 55*4882a593Smuzhiyunconfig CODE_PATCHING_SELFTEST 56*4882a593Smuzhiyun bool "Run self-tests of the code-patching code" 57*4882a593Smuzhiyun depends on DEBUG_KERNEL 58*4882a593Smuzhiyun 59*4882a593Smuzhiyunconfig JUMP_LABEL_FEATURE_CHECKS 60*4882a593Smuzhiyun bool "Enable use of jump label for cpu/mmu_has_feature()" 61*4882a593Smuzhiyun depends on JUMP_LABEL 62*4882a593Smuzhiyun default y 63*4882a593Smuzhiyun help 64*4882a593Smuzhiyun Selecting this options enables use of jump labels for some internal 65*4882a593Smuzhiyun feature checks. This should generate more optimal code for those 66*4882a593Smuzhiyun checks. 67*4882a593Smuzhiyun 68*4882a593Smuzhiyunconfig JUMP_LABEL_FEATURE_CHECK_DEBUG 69*4882a593Smuzhiyun bool "Do extra check on feature fixup calls" 70*4882a593Smuzhiyun depends on DEBUG_KERNEL && JUMP_LABEL_FEATURE_CHECKS 71*4882a593Smuzhiyun help 72*4882a593Smuzhiyun This tries to catch incorrect usage of cpu_has_feature() and 73*4882a593Smuzhiyun mmu_has_feature() in the code. 74*4882a593Smuzhiyun 75*4882a593Smuzhiyun If you don't know what this means, say N. 76*4882a593Smuzhiyun 77*4882a593Smuzhiyunconfig FTR_FIXUP_SELFTEST 78*4882a593Smuzhiyun bool "Run self-tests of the feature-fixup code" 79*4882a593Smuzhiyun depends on DEBUG_KERNEL 80*4882a593Smuzhiyun 81*4882a593Smuzhiyunconfig MSI_BITMAP_SELFTEST 82*4882a593Smuzhiyun bool "Run self-tests of the MSI bitmap code" 83*4882a593Smuzhiyun depends on DEBUG_KERNEL 84*4882a593Smuzhiyun 85*4882a593Smuzhiyunconfig PPC_IRQ_SOFT_MASK_DEBUG 86*4882a593Smuzhiyun bool "Include extra checks for powerpc irq soft masking" 87*4882a593Smuzhiyun 88*4882a593Smuzhiyunconfig XMON 89*4882a593Smuzhiyun bool "Include xmon kernel debugger" 90*4882a593Smuzhiyun depends on DEBUG_KERNEL 91*4882a593Smuzhiyun help 92*4882a593Smuzhiyun Include in-kernel hooks for the xmon kernel monitor/debugger. 93*4882a593Smuzhiyun Unless you are intending to debug the kernel, say N here. 94*4882a593Smuzhiyun Make sure to enable also CONFIG_BOOTX_TEXT on Macs. Otherwise 95*4882a593Smuzhiyun nothing will appear on the screen (xmon writes directly to the 96*4882a593Smuzhiyun framebuffer memory). 97*4882a593Smuzhiyun The cmdline option 'xmon' or 'xmon=early' will drop into xmon 98*4882a593Smuzhiyun very early during boot. 'xmon=on' will just enable the xmon 99*4882a593Smuzhiyun debugger hooks. 'xmon=off' will disable the debugger hooks 100*4882a593Smuzhiyun if CONFIG_XMON_DEFAULT is set. 101*4882a593Smuzhiyun xmon will print a backtrace on the very first invocation. 102*4882a593Smuzhiyun 'xmon=nobt' will disable this autobacktrace. 103*4882a593Smuzhiyun 104*4882a593Smuzhiyunconfig XMON_DEFAULT 105*4882a593Smuzhiyun bool "Enable xmon by default" 106*4882a593Smuzhiyun depends on XMON 107*4882a593Smuzhiyun help 108*4882a593Smuzhiyun xmon is normally disabled unless booted with 'xmon=on'. 109*4882a593Smuzhiyun Use 'xmon=off' to disable xmon init during runtime. 110*4882a593Smuzhiyun 111*4882a593Smuzhiyunconfig XMON_DISASSEMBLY 112*4882a593Smuzhiyun bool "Include disassembly support in xmon" 113*4882a593Smuzhiyun depends on XMON 114*4882a593Smuzhiyun default y 115*4882a593Smuzhiyun help 116*4882a593Smuzhiyun Include support for disassembling in xmon. You probably want 117*4882a593Smuzhiyun to say Y here, unless you're building for a memory-constrained 118*4882a593Smuzhiyun system. 119*4882a593Smuzhiyun 120*4882a593Smuzhiyunconfig XMON_DEFAULT_RO_MODE 121*4882a593Smuzhiyun bool "Restrict xmon to read-only operations by default" 122*4882a593Smuzhiyun depends on XMON 123*4882a593Smuzhiyun default y 124*4882a593Smuzhiyun help 125*4882a593Smuzhiyun Operate xmon in read-only mode. The cmdline options 'xmon=rw' and 126*4882a593Smuzhiyun 'xmon=ro' override this default. 127*4882a593Smuzhiyun 128*4882a593Smuzhiyunconfig DEBUGGER 129*4882a593Smuzhiyun bool 130*4882a593Smuzhiyun depends on KGDB || XMON 131*4882a593Smuzhiyun default y 132*4882a593Smuzhiyun 133*4882a593Smuzhiyunconfig BDI_SWITCH 134*4882a593Smuzhiyun bool "Include BDI-2000 user context switcher" 135*4882a593Smuzhiyun depends on DEBUG_KERNEL && PPC32 136*4882a593Smuzhiyun help 137*4882a593Smuzhiyun Include in-kernel support for the Abatron BDI2000 debugger. 138*4882a593Smuzhiyun Unless you are intending to debug the kernel with one of these 139*4882a593Smuzhiyun machines, say N here. 140*4882a593Smuzhiyun 141*4882a593Smuzhiyunconfig BOOTX_TEXT 142*4882a593Smuzhiyun bool "Support for early boot text console (BootX or OpenFirmware only)" 143*4882a593Smuzhiyun depends on PPC_BOOK3S 144*4882a593Smuzhiyun help 145*4882a593Smuzhiyun Say Y here to see progress messages from the boot firmware in text 146*4882a593Smuzhiyun mode. Requires either BootX or Open Firmware. 147*4882a593Smuzhiyun 148*4882a593Smuzhiyunconfig PPC_EARLY_DEBUG 149*4882a593Smuzhiyun bool "Early debugging (dangerous)" 150*4882a593Smuzhiyun help 151*4882a593Smuzhiyun Say Y to enable some early debugging facilities that may be available 152*4882a593Smuzhiyun for your processor/board combination. Those facilities are hacks 153*4882a593Smuzhiyun intended to debug problems early during boot, this should not be 154*4882a593Smuzhiyun enabled in a production kernel. 155*4882a593Smuzhiyun Note that enabling this will also cause the kernel default log level 156*4882a593Smuzhiyun to be pushed to max automatically very early during boot 157*4882a593Smuzhiyun 158*4882a593Smuzhiyunchoice 159*4882a593Smuzhiyun prompt "Early debugging console" 160*4882a593Smuzhiyun depends on PPC_EARLY_DEBUG 161*4882a593Smuzhiyun help 162*4882a593Smuzhiyun Use the selected console for early debugging. Careful, if you 163*4882a593Smuzhiyun enable debugging for the wrong type of machine your kernel 164*4882a593Smuzhiyun _will not boot_. 165*4882a593Smuzhiyun 166*4882a593Smuzhiyunconfig PPC_EARLY_DEBUG_BOOTX 167*4882a593Smuzhiyun bool "BootX or OpenFirmware" 168*4882a593Smuzhiyun depends on BOOTX_TEXT 169*4882a593Smuzhiyun help 170*4882a593Smuzhiyun Select this to enable early debugging for a machine using BootX 171*4882a593Smuzhiyun or OpenFirmware. 172*4882a593Smuzhiyun 173*4882a593Smuzhiyunconfig PPC_EARLY_DEBUG_LPAR 174*4882a593Smuzhiyun bool "LPAR HV Console" 175*4882a593Smuzhiyun depends on PPC_PSERIES && HVC_CONSOLE 176*4882a593Smuzhiyun help 177*4882a593Smuzhiyun Select this to enable early debugging for a machine with a HVC 178*4882a593Smuzhiyun console on vterm 0. 179*4882a593Smuzhiyun 180*4882a593Smuzhiyunconfig PPC_EARLY_DEBUG_LPAR_HVSI 181*4882a593Smuzhiyun bool "LPAR HVSI Console" 182*4882a593Smuzhiyun depends on PPC_PSERIES && HVC_CONSOLE 183*4882a593Smuzhiyun help 184*4882a593Smuzhiyun Select this to enable early debugging for a machine with a HVSI 185*4882a593Smuzhiyun console on a specified vterm. 186*4882a593Smuzhiyun 187*4882a593Smuzhiyunconfig PPC_EARLY_DEBUG_G5 188*4882a593Smuzhiyun bool "Apple G5" 189*4882a593Smuzhiyun depends on PPC_PMAC64 190*4882a593Smuzhiyun help 191*4882a593Smuzhiyun Select this to enable early debugging for Apple G5 machines. 192*4882a593Smuzhiyun 193*4882a593Smuzhiyunconfig PPC_EARLY_DEBUG_RTAS_PANEL 194*4882a593Smuzhiyun bool "RTAS Panel" 195*4882a593Smuzhiyun depends on PPC_RTAS 196*4882a593Smuzhiyun help 197*4882a593Smuzhiyun Select this to enable early debugging via the RTAS panel. 198*4882a593Smuzhiyun 199*4882a593Smuzhiyunconfig PPC_EARLY_DEBUG_RTAS_CONSOLE 200*4882a593Smuzhiyun bool "RTAS Console" 201*4882a593Smuzhiyun depends on PPC_RTAS 202*4882a593Smuzhiyun select UDBG_RTAS_CONSOLE 203*4882a593Smuzhiyun help 204*4882a593Smuzhiyun Select this to enable early debugging via the RTAS console. 205*4882a593Smuzhiyun 206*4882a593Smuzhiyunconfig PPC_EARLY_DEBUG_MAPLE 207*4882a593Smuzhiyun bool "Maple real mode" 208*4882a593Smuzhiyun depends on PPC_MAPLE 209*4882a593Smuzhiyun help 210*4882a593Smuzhiyun Select this to enable early debugging for Maple. 211*4882a593Smuzhiyun 212*4882a593Smuzhiyunconfig PPC_EARLY_DEBUG_PAS_REALMODE 213*4882a593Smuzhiyun bool "PA Semi real mode" 214*4882a593Smuzhiyun depends on PPC_PASEMI 215*4882a593Smuzhiyun help 216*4882a593Smuzhiyun Select this to enable early debugging for PA Semi. 217*4882a593Smuzhiyun Output will be on UART0. 218*4882a593Smuzhiyun 219*4882a593Smuzhiyunconfig PPC_EARLY_DEBUG_44x 220*4882a593Smuzhiyun bool "Early serial debugging for IBM/AMCC 44x CPUs" 221*4882a593Smuzhiyun depends on 44x 222*4882a593Smuzhiyun help 223*4882a593Smuzhiyun Select this to enable early debugging for IBM 44x chips via the 224*4882a593Smuzhiyun inbuilt serial port. If you enable this, ensure you set 225*4882a593Smuzhiyun PPC_EARLY_DEBUG_44x_PHYSLOW below to suit your target board. 226*4882a593Smuzhiyun 227*4882a593Smuzhiyunconfig PPC_EARLY_DEBUG_40x 228*4882a593Smuzhiyun bool "Early serial debugging for IBM/AMCC 40x CPUs" 229*4882a593Smuzhiyun depends on 40x 230*4882a593Smuzhiyun help 231*4882a593Smuzhiyun Select this to enable early debugging for IBM 40x chips via the 232*4882a593Smuzhiyun inbuilt serial port. This works on chips with a 16550 compatible 233*4882a593Smuzhiyun UART. 234*4882a593Smuzhiyun 235*4882a593Smuzhiyunconfig PPC_EARLY_DEBUG_CPM 236*4882a593Smuzhiyun bool "Early serial debugging for Freescale CPM-based serial ports" 237*4882a593Smuzhiyun depends on SERIAL_CPM 238*4882a593Smuzhiyun help 239*4882a593Smuzhiyun Select this to enable early debugging for Freescale chips 240*4882a593Smuzhiyun using a CPM-based serial port. This assumes that the bootwrapper 241*4882a593Smuzhiyun has run, and set up the CPM in a particular way. 242*4882a593Smuzhiyun 243*4882a593Smuzhiyunconfig PPC_EARLY_DEBUG_USBGECKO 244*4882a593Smuzhiyun bool "Early debugging through the USB Gecko adapter" 245*4882a593Smuzhiyun depends on GAMECUBE_COMMON 246*4882a593Smuzhiyun select USBGECKO_UDBG 247*4882a593Smuzhiyun help 248*4882a593Smuzhiyun Select this to enable early debugging for Nintendo GameCube/Wii 249*4882a593Smuzhiyun consoles via an external USB Gecko adapter. 250*4882a593Smuzhiyun 251*4882a593Smuzhiyunconfig PPC_EARLY_DEBUG_PS3GELIC 252*4882a593Smuzhiyun bool "Early debugging through the PS3 Ethernet port" 253*4882a593Smuzhiyun depends on PPC_PS3 254*4882a593Smuzhiyun select PS3GELIC_UDBG 255*4882a593Smuzhiyun help 256*4882a593Smuzhiyun Select this to enable early debugging for the PlayStation3 via 257*4882a593Smuzhiyun UDP broadcasts sent out through the Ethernet port. 258*4882a593Smuzhiyun 259*4882a593Smuzhiyunconfig PPC_EARLY_DEBUG_OPAL_RAW 260*4882a593Smuzhiyun bool "OPAL raw console" 261*4882a593Smuzhiyun depends on HVC_OPAL 262*4882a593Smuzhiyun help 263*4882a593Smuzhiyun Select this to enable early debugging for the PowerNV platform 264*4882a593Smuzhiyun using a "raw" console 265*4882a593Smuzhiyun 266*4882a593Smuzhiyunconfig PPC_EARLY_DEBUG_OPAL_HVSI 267*4882a593Smuzhiyun bool "OPAL hvsi console" 268*4882a593Smuzhiyun depends on HVC_OPAL 269*4882a593Smuzhiyun help 270*4882a593Smuzhiyun Select this to enable early debugging for the PowerNV platform 271*4882a593Smuzhiyun using an "hvsi" console 272*4882a593Smuzhiyun 273*4882a593Smuzhiyunconfig PPC_EARLY_DEBUG_MEMCONS 274*4882a593Smuzhiyun bool "In memory console" 275*4882a593Smuzhiyun help 276*4882a593Smuzhiyun Select this to enable early debugging using an in memory console. 277*4882a593Smuzhiyun This console provides input and output buffers stored within the 278*4882a593Smuzhiyun kernel BSS and should be safe to select on any system. A debugger 279*4882a593Smuzhiyun can then be used to read kernel output or send input to the console. 280*4882a593Smuzhiyunendchoice 281*4882a593Smuzhiyun 282*4882a593Smuzhiyunconfig PPC_MEMCONS_OUTPUT_SIZE 283*4882a593Smuzhiyun int "In memory console output buffer size" 284*4882a593Smuzhiyun depends on PPC_EARLY_DEBUG_MEMCONS 285*4882a593Smuzhiyun default 4096 286*4882a593Smuzhiyun help 287*4882a593Smuzhiyun Selects the size of the output buffer (in bytes) of the in memory 288*4882a593Smuzhiyun console. 289*4882a593Smuzhiyun 290*4882a593Smuzhiyunconfig PPC_MEMCONS_INPUT_SIZE 291*4882a593Smuzhiyun int "In memory console input buffer size" 292*4882a593Smuzhiyun depends on PPC_EARLY_DEBUG_MEMCONS 293*4882a593Smuzhiyun default 128 294*4882a593Smuzhiyun help 295*4882a593Smuzhiyun Selects the size of the input buffer (in bytes) of the in memory 296*4882a593Smuzhiyun console. 297*4882a593Smuzhiyun 298*4882a593Smuzhiyunconfig PPC_EARLY_DEBUG_OPAL 299*4882a593Smuzhiyun def_bool y 300*4882a593Smuzhiyun depends on PPC_EARLY_DEBUG_OPAL_RAW || PPC_EARLY_DEBUG_OPAL_HVSI 301*4882a593Smuzhiyun 302*4882a593Smuzhiyun 303*4882a593Smuzhiyunconfig PPC_EARLY_DEBUG_HVSI_VTERMNO 304*4882a593Smuzhiyun hex "vterm number to use with early debug HVSI" 305*4882a593Smuzhiyun depends on PPC_EARLY_DEBUG_LPAR_HVSI 306*4882a593Smuzhiyun default "0x30000000" 307*4882a593Smuzhiyun help 308*4882a593Smuzhiyun You probably want 0x30000000 for your first serial port and 309*4882a593Smuzhiyun 0x30000001 for your second one 310*4882a593Smuzhiyun 311*4882a593Smuzhiyunconfig PPC_EARLY_DEBUG_OPAL_VTERMNO 312*4882a593Smuzhiyun hex "vterm number to use with OPAL early debug" 313*4882a593Smuzhiyun depends on PPC_EARLY_DEBUG_OPAL 314*4882a593Smuzhiyun default "0" 315*4882a593Smuzhiyun help 316*4882a593Smuzhiyun This correspond to which /dev/hvcN you want to use for early 317*4882a593Smuzhiyun debug. 318*4882a593Smuzhiyun 319*4882a593Smuzhiyun On OPAL v2, this will be 0 for network console and 1 or 2 for 320*4882a593Smuzhiyun the machine built-in serial ports. 321*4882a593Smuzhiyun 322*4882a593Smuzhiyunconfig PPC_EARLY_DEBUG_44x_PHYSLOW 323*4882a593Smuzhiyun hex "Low 32 bits of early debug UART physical address" 324*4882a593Smuzhiyun depends on PPC_EARLY_DEBUG_44x 325*4882a593Smuzhiyun default "0x40000200" 326*4882a593Smuzhiyun help 327*4882a593Smuzhiyun You probably want 0x40000200 for ebony boards and 328*4882a593Smuzhiyun 0x40000300 for taishan 329*4882a593Smuzhiyun 330*4882a593Smuzhiyunconfig PPC_EARLY_DEBUG_44x_PHYSHIGH 331*4882a593Smuzhiyun hex "EPRN of early debug UART physical address" 332*4882a593Smuzhiyun depends on PPC_EARLY_DEBUG_44x 333*4882a593Smuzhiyun default "0x1" 334*4882a593Smuzhiyun 335*4882a593Smuzhiyunconfig PPC_EARLY_DEBUG_40x_PHYSADDR 336*4882a593Smuzhiyun hex "Early debug UART physical address" 337*4882a593Smuzhiyun depends on PPC_EARLY_DEBUG_40x 338*4882a593Smuzhiyun default "0xef600300" 339*4882a593Smuzhiyun 340*4882a593Smuzhiyunconfig PPC_EARLY_DEBUG_CPM_ADDR 341*4882a593Smuzhiyun hex "CPM UART early debug transmit descriptor address" 342*4882a593Smuzhiyun depends on PPC_EARLY_DEBUG_CPM 343*4882a593Smuzhiyun default "0xfa202008" if PPC_EP88XC 344*4882a593Smuzhiyun default "0xf0001ff8" if CPM2 345*4882a593Smuzhiyun default "0xff002008" if CPM1 346*4882a593Smuzhiyun help 347*4882a593Smuzhiyun This specifies the address of the transmit descriptor 348*4882a593Smuzhiyun used for early debug output. Because it is needed before 349*4882a593Smuzhiyun platform probing is done, all platforms selected must 350*4882a593Smuzhiyun share the same address. 351*4882a593Smuzhiyun 352*4882a593Smuzhiyunconfig FAIL_IOMMU 353*4882a593Smuzhiyun bool "Fault-injection capability for IOMMU" 354*4882a593Smuzhiyun depends on FAULT_INJECTION 355*4882a593Smuzhiyun depends on PCI || IBMVIO 356*4882a593Smuzhiyun help 357*4882a593Smuzhiyun Provide fault-injection capability for IOMMU. Each device can 358*4882a593Smuzhiyun be selectively enabled via the fail_iommu property. 359*4882a593Smuzhiyun 360*4882a593Smuzhiyun If you are unsure, say N. 361*4882a593Smuzhiyun 362*4882a593Smuzhiyunconfig PPC_PTDUMP 363*4882a593Smuzhiyun bool "Export kernel pagetable layout to userspace via debugfs" 364*4882a593Smuzhiyun depends on DEBUG_KERNEL && DEBUG_FS 365*4882a593Smuzhiyun help 366*4882a593Smuzhiyun This option exports the state of the kernel pagetables to a 367*4882a593Smuzhiyun debugfs file. This is only useful for kernel developers who are 368*4882a593Smuzhiyun working in architecture specific areas of the kernel - probably 369*4882a593Smuzhiyun not a good idea to enable this feature in a production kernel. 370*4882a593Smuzhiyun 371*4882a593Smuzhiyun If you are unsure, say N. 372*4882a593Smuzhiyun 373*4882a593Smuzhiyunconfig PPC_DEBUG_WX 374*4882a593Smuzhiyun bool "Warn on W+X mappings at boot" 375*4882a593Smuzhiyun depends on PPC_PTDUMP && STRICT_KERNEL_RWX 376*4882a593Smuzhiyun help 377*4882a593Smuzhiyun Generate a warning if any W+X mappings are found at boot. 378*4882a593Smuzhiyun 379*4882a593Smuzhiyun This is useful for discovering cases where the kernel is leaving 380*4882a593Smuzhiyun W+X mappings after applying NX, as such mappings are a security risk. 381*4882a593Smuzhiyun 382*4882a593Smuzhiyun Note that even if the check fails, your kernel is possibly 383*4882a593Smuzhiyun still fine, as W+X mappings are not a security hole in 384*4882a593Smuzhiyun themselves, what they do is that they make the exploitation 385*4882a593Smuzhiyun of other unfixed kernel bugs easier. 386*4882a593Smuzhiyun 387*4882a593Smuzhiyun There is no runtime or memory usage effect of this option 388*4882a593Smuzhiyun once the kernel has booted up - it's a one time check. 389*4882a593Smuzhiyun 390*4882a593Smuzhiyun If in doubt, say "Y". 391*4882a593Smuzhiyun 392*4882a593Smuzhiyunconfig PPC_FAST_ENDIAN_SWITCH 393*4882a593Smuzhiyun bool "Deprecated fast endian-switch syscall" 394*4882a593Smuzhiyun depends on DEBUG_KERNEL && PPC_BOOK3S_64 395*4882a593Smuzhiyun help 396*4882a593Smuzhiyun If you're unsure what this is, say N. 397*4882a593Smuzhiyun 398*4882a593Smuzhiyunconfig KASAN_SHADOW_OFFSET 399*4882a593Smuzhiyun hex 400*4882a593Smuzhiyun depends on KASAN 401*4882a593Smuzhiyun default 0xe0000000 402