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