# SPDX-License-Identifier: GPL-2.0
config [31mCONFIG_PPC_DISABLE_WERROR[0m
bool "Don't build arch/powerpc code with -Werror"
help
This option tells the compiler NOT to build the code under
arch/powerpc with the -Werror flag (which means warnings
are treated as errors).
Only enable this if you are hitting a build failure in the
arch/powerpc code caused by a warning, and you don't feel
inclined to fix it.
config [31mCONFIG_PPC_WERROR[0m
bool
depends on ![31mCONFIG_PPC_DISABLE_WERROR[0m
default y
config [31mCONFIG_PRINT_STACK_DEPTH[0m
int "Stack depth to print" if [31mCONFIG_DEBUG_KERNEL[0m
default 64
help
This option allows you to set the stack depth that the kernel
prints in stack traces. This can be useful if your display is
too small and stack traces cause important information to
scroll off the screen.
config [31mCONFIG_HCALL_STATS[0m
bool "Hypervisor call instrumentation"
depends on [31mCONFIG_PPC_PSERIES[0m && [31mCONFIG_DEBUG_FS[0m && [31mCONFIG_TRACEPOINTS[0m
help
Adds code to keep track of the number of hypervisor calls made and
the amount of time spent in hypervisor calls. Wall time spent in
each call is always calculated, and if available CPU cycles spent
are also calculated. [31mCONFIG_A[0m directory named hcall_inst is added at the
root of the debugfs filesystem. Within the hcall_inst directory
are files that contain CPU specific call statistics.
This option will add a small amount of overhead to all hypervisor
calls.
config [31mCONFIG_PPC_EMULATED_STATS[0m
bool "Emulated instructions tracking"
depends on [31mCONFIG_DEBUG_FS[0m
help
Adds code to keep track of the number of instructions that are
emulated by the in-kernel emulator. Counters for the various classes
of emulated instructions are available under
powerpc/emulated_instructions/ in the root of the debugfs file
system. Optionally (controlled by
powerpc/emulated_instructions/do_warn in debugfs), rate-limited
warnings can be printed to the console when instructions are
emulated.
config [31mCONFIG_CODE_PATCHING_SELFTEST[0m
bool "Run self-tests of the code-patching code"
depends on [31mCONFIG_DEBUG_KERNEL[0m
config [31mCONFIG_JUMP_LABEL_FEATURE_CHECKS[0m
bool "Enable use of jump label for cpu/mmu_has_feature()"
depends on [31mCONFIG_JUMP_LABEL[0m
default y
help
Selecting this options enables use of jump labels for some internal
feature checks. This should generate more optimal code for those
checks.
config [31mCONFIG_JUMP_LABEL_FEATURE_CHECK_DEBUG[0m
bool "Do extra check on feature fixup calls"
depends on [31mCONFIG_DEBUG_KERNEL[0m && [31mCONFIG_JUMP_LABEL_FEATURE_CHECKS[0m
help
This tries to catch incorrect usage of cpu_has_feature() and
mmu_has_feature() in the code.
If you don't know what this means, say N.
config [31mCONFIG_FTR_FIXUP_SELFTEST[0m
bool "Run self-tests of the feature-fixup code"
depends on [31mCONFIG_DEBUG_KERNEL[0m
config [31mCONFIG_MSI_BITMAP_SELFTEST[0m
bool "Run self-tests of the MSI bitmap code"
depends on [31mCONFIG_DEBUG_KERNEL[0m
config [31mCONFIG_PPC_IRQ_SOFT_MASK_DEBUG[0m
bool "Include extra checks for powerpc irq soft masking"
config [31mCONFIG_XMON[0m
bool "Include xmon kernel debugger"
depends on [31mCONFIG_DEBUG_KERNEL[0m
help
Include in-kernel hooks for the xmon kernel monitor/debugger.
Unless you are intending to debug the kernel, say N here.
Make sure to enable also CONFIG_BOOTX_TEXT on Macs. Otherwise
nothing will appear on the screen (xmon writes directly to the
framebuffer memory).
The cmdline option 'xmon' or 'xmon=early' will drop into xmon
very early during boot. 'xmon=on' will just enable the xmon
debugger hooks. 'xmon=off' will disable the debugger hooks
if CONFIG_XMON_DEFAULT is set.
xmon will print a backtrace on the very first invocation.
'xmon=nobt' will disable this autobacktrace.
config [31mCONFIG_XMON_DEFAULT[0m
bool "Enable xmon by default"
depends on [31mCONFIG_XMON[0m
help
xmon is normally disabled unless booted with 'xmon=on'.
Use 'xmon=off' to disable xmon init during runtime.
config [31mCONFIG_XMON_DISASSEMBLY[0m
bool "Include disassembly support in xmon"
depends on [31mCONFIG_XMON[0m
default y
help
Include support for disassembling in xmon. You probably want
to say Y here, unless you're building for a memory-constrained
system.
config [31mCONFIG_XMON_DEFAULT_RO_MODE[0m
bool "Restrict xmon to read-only operations by default"
depends on [31mCONFIG_XMON[0m
default y
help
Operate xmon in read-only mode. The cmdline options 'xmon=rw' and
'xmon=ro' override this default.
config [31mCONFIG_DEBUGGER[0m
bool
depends on [31mCONFIG_KGDB[0m || [31mCONFIG_XMON[0m
default y
config [31mCONFIG_BDI_SWITCH[0m
bool "Include BDI-2000 user context switcher"
depends on [31mCONFIG_DEBUG_KERNEL[0m && [31mCONFIG_PPC32[0m
help
Include in-kernel support for the Abatron BDI2000 debugger.
Unless you are intending to debug the kernel with one of these
machines, say N here.
config [31mCONFIG_BOOTX_TEXT[0m
bool "Support for early boot text console (BootX or OpenFirmware only)"
depends on [31mCONFIG_PPC_BOOK3S[0m
help
Say Y here to see progress messages from the boot firmware in text
mode. Requires either BootX or Open Firmware.
config [31mCONFIG_PPC_EARLY_DEBUG[0m
bool "Early debugging (dangerous)"
help
Say Y to enable some early debugging facilities that may be available
for your processor/board combination. Those facilities are hacks
intended to debug problems early during boot, this should not be
enabled in a production kernel.
Note that enabling this will also cause the kernel default log level
to be pushed to max automatically very early during boot
choice
prompt "Early debugging console"
depends on [31mCONFIG_PPC_EARLY_DEBUG[0m
help
Use the selected console for early debugging. Careful, if you
enable debugging for the wrong type of machine your kernel
_will not boot_.
config [31mCONFIG_PPC_EARLY_DEBUG_BOOTX[0m
bool "BootX or OpenFirmware"
depends on [31mCONFIG_BOOTX_TEXT[0m
help
Select this to enable early debugging for a machine using BootX
or OpenFirmware.
config [31mCONFIG_PPC_EARLY_DEBUG_LPAR[0m
bool "LPAR HV Console"
depends on [31mCONFIG_PPC_PSERIES[0m && [31mCONFIG_HVC_CONSOLE[0m
help
Select this to enable early debugging for a machine with a HVC
console on vterm 0.
config [31mCONFIG_PPC_EARLY_DEBUG_LPAR_HVSI[0m
bool "LPAR HVSI Console"
depends on [31mCONFIG_PPC_PSERIES[0m && [31mCONFIG_HVC_CONSOLE[0m
help
Select this to enable early debugging for a machine with a HVSI
console on a specified vterm.
config [31mCONFIG_PPC_EARLY_DEBUG_G5[0m
bool "Apple G5"
depends on [31mCONFIG_PPC_PMAC64[0m
help
Select this to enable early debugging for Apple G5 machines.
config [31mCONFIG_PPC_EARLY_DEBUG_RTAS_PANEL[0m
bool "RTAS Panel"
depends on [31mCONFIG_PPC_RTAS[0m
help
Select this to enable early debugging via the RTAS panel.
config [31mCONFIG_PPC_EARLY_DEBUG_RTAS_CONSOLE[0m
bool "RTAS Console"
depends on [31mCONFIG_PPC_RTAS[0m
select [31mCONFIG_UDBG_RTAS_CONSOLE[0m
help
Select this to enable early debugging via the RTAS console.
config [31mCONFIG_PPC_EARLY_DEBUG_MAPLE[0m
bool "Maple real mode"
depends on [31mCONFIG_PPC_MAPLE[0m
help
Select this to enable early debugging for Maple.
config [31mCONFIG_PPC_EARLY_DEBUG_PAS_REALMODE[0m
bool "PA Semi real mode"
depends on [31mCONFIG_PPC_PASEMI[0m
help
Select this to enable early debugging for PA Semi.
Output will be on UART0.
config [31mCONFIG_PPC_EARLY_DEBUG_44x[0m
bool "Early serial debugging for IBM/AMCC 44x CPUs"
depends on [31mCONFIG_44x[0m
help
Select this to enable early debugging for IBM [31mCONFIG_44x[0m chips via the
inbuilt serial port. If you enable this, ensure you set
[31mCONFIG_PPC_EARLY_DEBUG_44x_PHYSLOW[0m below to suit your target board.
config [31mCONFIG_PPC_EARLY_DEBUG_40x[0m
bool "Early serial debugging for IBM/AMCC 40x CPUs"
depends on [31mCONFIG_40x[0m
help
Select this to enable early debugging for IBM [31mCONFIG_40x[0m chips via the
inbuilt serial port. This works on chips with a 16550 compatible
UART. Xilinx chips with uartlite cannot use this option.
config [31mCONFIG_PPC_EARLY_DEBUG_CPM[0m
bool "Early serial debugging for Freescale CPM-based serial ports"
depends on [31mCONFIG_SERIAL_CPM[0m
help
Select this to enable early debugging for Freescale chips
using a [31mCONFIG_CPM[0m-based serial port. This assumes that the bootwrapper
has run, and set up the [31mCONFIG_CPM[0m in a particular way.
config [31mCONFIG_PPC_EARLY_DEBUG_USBGECKO[0m
bool "Early debugging through the USB Gecko adapter"
depends on [31mCONFIG_GAMECUBE_COMMON[0m
select [31mCONFIG_USBGECKO_UDBG[0m
help
Select this to enable early debugging for Nintendo GameCube/Wii
consoles via an external [31mCONFIG_USB[0m Gecko adapter.
config [31mCONFIG_PPC_EARLY_DEBUG_PS3GELIC[0m
bool "Early debugging through the PS3 Ethernet port"
depends on [31mCONFIG_PPC_PS3[0m
select [31mCONFIG_PS3GELIC_UDBG[0m
help
Select this to enable early debugging for the PlayStation3 via
UDP broadcasts sent out through the Ethernet port.
config [31mCONFIG_PPC_EARLY_DEBUG_OPAL_RAW[0m
bool "OPAL raw console"
depends on [31mCONFIG_HVC_OPAL[0m
help
Select this to enable early debugging for the PowerNV platform
using a "raw" console
config [31mCONFIG_PPC_EARLY_DEBUG_OPAL_HVSI[0m
bool "OPAL hvsi console"
depends on [31mCONFIG_HVC_OPAL[0m
help
Select this to enable early debugging for the PowerNV platform
using an "hvsi" console
config [31mCONFIG_PPC_EARLY_DEBUG_MEMCONS[0m
bool "In memory console"
help
Select this to enable early debugging using an in memory console.
This console provides input and output buffers stored within the
kernel BSS and should be safe to select on any system. [31mCONFIG_A[0m debugger
can then be used to read kernel output or send input to the console.
endchoice
config [31mCONFIG_PPC_MEMCONS_OUTPUT_SIZE[0m
int "In memory console output buffer size"
depends on [31mCONFIG_PPC_EARLY_DEBUG_MEMCONS[0m
default 4096
help
Selects the size of the output buffer (in bytes) of the in memory
console.
config [31mCONFIG_PPC_MEMCONS_INPUT_SIZE[0m
int "In memory console input buffer size"
depends on [31mCONFIG_PPC_EARLY_DEBUG_MEMCONS[0m
default 128
help
Selects the size of the input buffer (in bytes) of the in memory
console.
config [31mCONFIG_PPC_EARLY_DEBUG_OPAL[0m
def_bool y
depends on [31mCONFIG_PPC_EARLY_DEBUG_OPAL_RAW[0m || [31mCONFIG_PPC_EARLY_DEBUG_OPAL_HVSI[0m
config [31mCONFIG_PPC_EARLY_DEBUG_HVSI_VTERMNO[0m
hex "vterm number to use with early debug HVSI"
depends on [31mCONFIG_PPC_EARLY_DEBUG_LPAR_HVSI[0m
default "0x30000000"
help
You probably want 0x30000000 for your first serial port and
0x30000001 for your second one
config [31mCONFIG_PPC_EARLY_DEBUG_OPAL_VTERMNO[0m
hex "vterm number to use with OPAL early debug"
depends on [31mCONFIG_PPC_EARLY_DEBUG_OPAL[0m
default "0"
help
This correspond to which /dev/hvcN you want to use for early
debug.
On OPAL v2, this will be 0 for network console and 1 or 2 for
the machine built-in serial ports.
config [31mCONFIG_PPC_EARLY_DEBUG_44x_PHYSLOW[0m
hex "Low 32 bits of early debug UART physical address"
depends on [31mCONFIG_PPC_EARLY_DEBUG_44x[0m
default "0x40000200"
help
You probably want 0x40000200 for ebony boards and
0x40000300 for taishan
config [31mCONFIG_PPC_EARLY_DEBUG_44x_PHYSHIGH[0m
hex "EPRN of early debug UART physical address"
depends on [31mCONFIG_PPC_EARLY_DEBUG_44x[0m
default "0x1"
config [31mCONFIG_PPC_EARLY_DEBUG_40x_PHYSADDR[0m
hex "Early debug UART physical address"
depends on [31mCONFIG_PPC_EARLY_DEBUG_40x[0m
default "0xef600300"
config [31mCONFIG_PPC_EARLY_DEBUG_CPM_ADDR[0m
hex "CPM UART early debug transmit descriptor address"
depends on [31mCONFIG_PPC_EARLY_DEBUG_CPM[0m
default "0xfa202008" if [31mCONFIG_PPC_EP88XC[0m
default "0xf0001ff8" if [31mCONFIG_CPM2[0m
default "0xff002008" if [31mCONFIG_CPM1[0m
help
This specifies the address of the transmit descriptor
used for early debug output. Because it is needed before
platform probing is done, all platforms selected must
share the same address.
config [31mCONFIG_FAIL_IOMMU[0m
bool "Fault-injection capability for IOMMU"
depends on [31mCONFIG_FAULT_INJECTION[0m
help
Provide fault-injection capability for IOMMU. Each device can
be selectively enabled via the fail_iommu property.
If you are unsure, say N.
config [31mCONFIG_PPC_PTDUMP[0m
bool "Export kernel pagetable layout to userspace via debugfs"
depends on [31mCONFIG_DEBUG_KERNEL[0m && [31mCONFIG_DEBUG_FS[0m
help
This option exports the state of the kernel pagetables to a
debugfs file. This is only useful for kernel developers who are
working in architecture specific areas of the kernel - probably
not a good idea to enable this feature in a production kernel.
If you are unsure, say N.
config [31mCONFIG_PPC_DEBUG_WX[0m
bool "Warn on W+X mappings at boot"
depends on [31mCONFIG_PPC_PTDUMP[0m
help
Generate a warning if any W+X mappings are found at boot.
This is useful for discovering cases where the kernel is leaving
W+X mappings after applying NX, as such mappings are a security risk.
Note that even if the check fails, your kernel is possibly
still fine, as W+X mappings are not a security hole in
themselves, what they do is that they make the exploitation
of other unfixed kernel bugs easier.
There is no runtime or memory usage effect of this option
once the kernel has booted up - it's a one time check.
If in doubt, say "Y".
config [31mCONFIG_PPC_FAST_ENDIAN_SWITCH[0m
bool "Deprecated fast endian-switch syscall"
depends on [31mCONFIG_DEBUG_KERNEL[0m && [31mCONFIG_PPC_BOOK3S_64[0m
help
If you're unsure what this is, say N.
config [31mCONFIG_KASAN_SHADOW_OFFSET[0m
hex
depends on [31mCONFIG_KASAN[0m
default 0xe0000000