Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0
0002 
0003 config PPC_DISABLE_WERROR
0004         bool "Don't build arch/powerpc code with -Werror"
0005         help
0006           This option tells the compiler NOT to build the code under
0007           arch/powerpc with the -Werror flag (which means warnings
0008           are treated as errors).
0009 
0010           Only enable this if you are hitting a build failure in the
0011           arch/powerpc code caused by a warning, and you don't feel
0012           inclined to fix it.
0013 
0014 config PPC_WERROR
0015         bool
0016         depends on !PPC_DISABLE_WERROR
0017         default y
0018 
0019 config PRINT_STACK_DEPTH
0020         int "Stack depth to print" if DEBUG_KERNEL
0021         default 64
0022         help
0023           This option allows you to set the stack depth that the kernel
0024           prints in stack traces. This can be useful if your display is
0025           too small and stack traces cause important information to
0026           scroll off the screen.
0027 
0028 config HCALL_STATS
0029         bool "Hypervisor call instrumentation"
0030         depends on PPC_PSERIES && DEBUG_FS && TRACEPOINTS
0031         help
0032           Adds code to keep track of the number of hypervisor calls made and
0033           the amount of time spent in hypervisor calls.  Wall time spent in
0034           each call is always calculated, and if available CPU cycles spent
0035           are also calculated.  A directory named hcall_inst is added at the
0036           root of the debugfs filesystem.  Within the hcall_inst directory
0037           are files that contain CPU specific call statistics.
0038 
0039           This option will add a small amount of overhead to all hypervisor
0040           calls.
0041 
0042 config PPC_EMULATED_STATS
0043         bool "Emulated instructions tracking"
0044         depends on DEBUG_FS
0045         help
0046           Adds code to keep track of the number of instructions that are
0047           emulated by the in-kernel emulator. Counters for the various classes
0048           of emulated instructions are available under
0049           powerpc/emulated_instructions/ in the root of the debugfs file
0050           system. Optionally (controlled by
0051           powerpc/emulated_instructions/do_warn in debugfs), rate-limited
0052           warnings can be printed to the console when instructions are
0053           emulated.
0054 
0055 config CODE_PATCHING_SELFTEST
0056         bool "Run self-tests of the code-patching code"
0057         depends on DEBUG_KERNEL
0058 
0059 config JUMP_LABEL_FEATURE_CHECKS
0060         bool "Enable use of jump label for cpu/mmu_has_feature()"
0061         depends on JUMP_LABEL
0062         default y
0063         help
0064           Selecting this options enables use of jump labels for some internal
0065           feature checks. This should generate more optimal code for those
0066           checks.
0067 
0068 config JUMP_LABEL_FEATURE_CHECK_DEBUG
0069         bool "Do extra check on feature fixup calls"
0070         depends on DEBUG_KERNEL && JUMP_LABEL_FEATURE_CHECKS
0071         help
0072           This tries to catch incorrect usage of cpu_has_feature() and
0073           mmu_has_feature() in the code.
0074 
0075           If you don't know what this means, say N.
0076 
0077 config FTR_FIXUP_SELFTEST
0078         bool "Run self-tests of the feature-fixup code"
0079         depends on DEBUG_KERNEL
0080 
0081 config MSI_BITMAP_SELFTEST
0082         bool "Run self-tests of the MSI bitmap code"
0083         depends on DEBUG_KERNEL
0084 
0085 config PPC_IRQ_SOFT_MASK_DEBUG
0086         bool "Include extra checks for powerpc irq soft masking"
0087         depends on PPC64
0088 
0089 config PPC_RFI_SRR_DEBUG
0090         bool "Include extra checks for RFI SRR register validity"
0091         depends on PPC_BOOK3S_64
0092 
0093 config XMON
0094         bool "Include xmon kernel debugger"
0095         depends on DEBUG_KERNEL
0096         select CONSOLE_POLL if SERIAL_CPM_CONSOLE
0097         help
0098           Include in-kernel hooks for the xmon kernel monitor/debugger.
0099           Unless you are intending to debug the kernel, say N here.
0100           Make sure to enable also CONFIG_BOOTX_TEXT on Macs. Otherwise
0101           nothing will appear on the screen (xmon writes directly to the
0102           framebuffer memory).
0103           The cmdline option 'xmon' or 'xmon=early' will drop into xmon
0104           very early during boot. 'xmon=on' will just enable the xmon
0105           debugger hooks.  'xmon=off' will disable the debugger hooks
0106           if CONFIG_XMON_DEFAULT is set.
0107           xmon will print a backtrace on the very first invocation.
0108           'xmon=nobt' will disable this autobacktrace.
0109 
0110 config XMON_DEFAULT
0111         bool "Enable xmon by default"
0112         depends on XMON
0113         help
0114           xmon is normally disabled unless booted with 'xmon=on'.
0115           Use 'xmon=off' to disable xmon init during runtime.
0116 
0117 config XMON_DISASSEMBLY
0118         bool "Include disassembly support in xmon"
0119         depends on XMON
0120         default y
0121         help
0122           Include support for disassembling in xmon. You probably want
0123           to say Y here, unless you're building for a memory-constrained
0124           system.
0125 
0126 config XMON_DEFAULT_RO_MODE
0127         bool "Restrict xmon to read-only operations by default"
0128         depends on XMON
0129         default y
0130         help
0131           Operate xmon in read-only mode. The cmdline options 'xmon=rw' and
0132           'xmon=ro' override this default.
0133 
0134 config DEBUGGER
0135         bool
0136         depends on KGDB || XMON
0137         default y
0138 
0139 config BDI_SWITCH
0140         bool "Include BDI-2000 user context switcher"
0141         depends on DEBUG_KERNEL && PPC32
0142         help
0143           Include in-kernel support for the Abatron BDI2000 debugger.
0144           Unless you are intending to debug the kernel with one of these
0145           machines, say N here.
0146 
0147 config BOOTX_TEXT
0148         bool "Support for early boot text console (BootX or OpenFirmware only)"
0149         depends on PPC_BOOK3S
0150         help
0151           Say Y here to see progress messages from the boot firmware in text
0152           mode. Requires either BootX or Open Firmware.
0153 
0154 config PPC_EARLY_DEBUG
0155         bool "Early debugging (dangerous)"
0156         help
0157           Say Y to enable some early debugging facilities that may be available
0158           for your processor/board combination. Those facilities are hacks
0159           intended to debug problems early during boot, this should not be
0160           enabled in a production kernel.
0161           Note that enabling this will also cause the kernel default log level
0162           to be pushed to max automatically very early during boot
0163 
0164 choice
0165         prompt "Early debugging console"
0166         depends on PPC_EARLY_DEBUG
0167         help
0168           Use the selected console for early debugging. Careful, if you
0169           enable debugging for the wrong type of machine your kernel
0170           _will not boot_.
0171 
0172 config PPC_EARLY_DEBUG_BOOTX
0173         bool "BootX or OpenFirmware"
0174         depends on BOOTX_TEXT
0175         help
0176           Select this to enable early debugging for a machine using BootX
0177           or OpenFirmware.
0178 
0179 config PPC_EARLY_DEBUG_LPAR
0180         bool "LPAR HV Console"
0181         depends on PPC_PSERIES && HVC_CONSOLE
0182         help
0183           Select this to enable early debugging for a machine with a HVC
0184           console on vterm 0.
0185 
0186 config PPC_EARLY_DEBUG_LPAR_HVSI
0187         bool "LPAR HVSI Console"
0188         depends on PPC_PSERIES && HVC_CONSOLE
0189         help
0190           Select this to enable early debugging for a machine with a HVSI
0191           console on a specified vterm.
0192 
0193 config PPC_EARLY_DEBUG_G5
0194         bool "Apple G5"
0195         depends on PPC_PMAC64
0196         help
0197           Select this to enable early debugging for Apple G5 machines.
0198 
0199 config PPC_EARLY_DEBUG_RTAS_PANEL
0200         bool "RTAS Panel"
0201         depends on PPC_RTAS
0202         help
0203           Select this to enable early debugging via the RTAS panel.
0204 
0205 config PPC_EARLY_DEBUG_RTAS_CONSOLE
0206         bool "RTAS Console"
0207         depends on PPC_RTAS
0208         select UDBG_RTAS_CONSOLE
0209         help
0210           Select this to enable early debugging via the RTAS console.
0211 
0212 config PPC_EARLY_DEBUG_MAPLE
0213         bool "Maple real mode"
0214         depends on PPC_MAPLE
0215         help
0216           Select this to enable early debugging for Maple.
0217 
0218 config PPC_EARLY_DEBUG_PAS_REALMODE
0219         bool "PA Semi real mode"
0220         depends on PPC_PASEMI
0221         help
0222           Select this to enable early debugging for PA Semi.
0223           Output will be on UART0.
0224 
0225 config PPC_EARLY_DEBUG_44x
0226         bool "Early serial debugging for IBM/AMCC 44x CPUs"
0227         depends on 44x
0228         help
0229           Select this to enable early debugging for IBM 44x chips via the
0230           inbuilt serial port.  If you enable this, ensure you set
0231           PPC_EARLY_DEBUG_44x_PHYSLOW below to suit your target board.
0232 
0233 config PPC_EARLY_DEBUG_40x
0234         bool "Early serial debugging for IBM/AMCC 40x CPUs"
0235         depends on 40x
0236         help
0237           Select this to enable early debugging for IBM 40x chips via the
0238           inbuilt serial port. This works on chips with a 16550 compatible
0239           UART.
0240 
0241 config PPC_EARLY_DEBUG_CPM
0242         bool "Early serial debugging for Freescale CPM-based serial ports"
0243         depends on SERIAL_CPM
0244         help
0245           Select this to enable early debugging for Freescale chips
0246           using a CPM-based serial port.  This assumes that the bootwrapper
0247           has run, and set up the CPM in a particular way.
0248 
0249 config PPC_EARLY_DEBUG_USBGECKO
0250         bool "Early debugging through the USB Gecko adapter"
0251         depends on GAMECUBE_COMMON
0252         select USBGECKO_UDBG
0253         help
0254           Select this to enable early debugging for Nintendo GameCube/Wii
0255           consoles via an external USB Gecko adapter.
0256 
0257 config PPC_EARLY_DEBUG_PS3GELIC
0258         bool "Early debugging through the PS3 Ethernet port"
0259         depends on PPC_PS3
0260         select PS3GELIC_UDBG
0261         help
0262           Select this to enable early debugging for the PlayStation3 via
0263           UDP broadcasts sent out through the Ethernet port.
0264 
0265 config PPC_EARLY_DEBUG_OPAL_RAW
0266         bool "OPAL raw console"
0267         depends on HVC_OPAL
0268         help
0269           Select this to enable early debugging for the PowerNV platform
0270           using a "raw" console
0271 
0272 config PPC_EARLY_DEBUG_OPAL_HVSI
0273         bool "OPAL hvsi console"
0274         depends on HVC_OPAL
0275         help
0276           Select this to enable early debugging for the PowerNV platform
0277           using an "hvsi" console
0278 
0279 config PPC_EARLY_DEBUG_MEMCONS
0280         bool "In memory console"
0281         help
0282           Select this to enable early debugging using an in memory console.
0283           This console provides input and output buffers stored within the
0284           kernel BSS and should be safe to select on any system. A debugger
0285           can then be used to read kernel output or send input to the console.
0286 endchoice
0287 
0288 config PPC_MEMCONS_OUTPUT_SIZE
0289         int "In memory console output buffer size"
0290         depends on PPC_EARLY_DEBUG_MEMCONS
0291         default 4096
0292         help
0293           Selects the size of the output buffer (in bytes) of the in memory
0294           console.
0295 
0296 config PPC_MEMCONS_INPUT_SIZE
0297         int "In memory console input buffer size"
0298         depends on PPC_EARLY_DEBUG_MEMCONS
0299         default 128
0300         help
0301           Selects the size of the input buffer (in bytes) of the in memory
0302           console.
0303 
0304 config PPC_EARLY_DEBUG_OPAL
0305         def_bool y
0306         depends on PPC_EARLY_DEBUG_OPAL_RAW || PPC_EARLY_DEBUG_OPAL_HVSI
0307 
0308 config PPC_EARLY_DEBUG_HVSI_VTERMNO
0309         hex "vterm number to use with early debug HVSI"
0310         depends on PPC_EARLY_DEBUG_LPAR_HVSI
0311         default "0x30000000"
0312         help
0313           You probably want 0x30000000 for your first serial port and
0314           0x30000001 for your second one
0315 
0316 config PPC_EARLY_DEBUG_OPAL_VTERMNO
0317         hex "vterm number to use with OPAL early debug"
0318         depends on PPC_EARLY_DEBUG_OPAL
0319         default "0"
0320         help
0321           This correspond to which /dev/hvcN you want to use for early
0322           debug.
0323 
0324           On OPAL v2, this will be 0 for network console and 1 or 2 for
0325           the machine built-in serial ports.
0326 
0327 config PPC_EARLY_DEBUG_44x_PHYSLOW
0328         hex "Low 32 bits of early debug UART physical address"
0329         depends on PPC_EARLY_DEBUG_44x
0330         default "0x40000200"
0331         help
0332           You probably want 0x40000200 for ebony boards and
0333           0x40000300 for taishan
0334 
0335 config PPC_EARLY_DEBUG_44x_PHYSHIGH
0336         hex "EPRN of early debug UART physical address"
0337         depends on PPC_EARLY_DEBUG_44x
0338         default "0x1"
0339 
0340 config PPC_EARLY_DEBUG_40x_PHYSADDR
0341         hex "Early debug UART physical address"
0342         depends on PPC_EARLY_DEBUG_40x
0343         default "0xef600300"
0344 
0345 config PPC_EARLY_DEBUG_CPM_ADDR
0346         hex "CPM UART early debug transmit descriptor address"
0347         depends on PPC_EARLY_DEBUG_CPM
0348         default "0xfa202008" if PPC_EP88XC
0349         default "0xf0001ff8" if CPM2
0350         default "0xff002008" if CPM1
0351         help
0352           This specifies the address of the transmit descriptor
0353           used for early debug output.  Because it is needed before
0354           platform probing is done, all platforms selected must
0355           share the same address.
0356 
0357 config FAIL_IOMMU
0358         bool "Fault-injection capability for IOMMU"
0359         depends on FAULT_INJECTION
0360         depends on PCI || IBMVIO
0361         help
0362           Provide fault-injection capability for IOMMU. Each device can
0363           be selectively enabled via the fail_iommu property.
0364 
0365           If you are unsure, say N.
0366 
0367 config PPC_FAST_ENDIAN_SWITCH
0368         bool "Deprecated fast endian-switch syscall"
0369         depends on DEBUG_KERNEL && PPC_BOOK3S_64
0370         help
0371           If you're unsure what this is, say N.
0372 
0373 config KASAN_SHADOW_OFFSET
0374         hex
0375         depends on KASAN
0376         default 0xe0000000 if PPC32
0377         default 0xa80e000000000000 if PPC_BOOK3S_64
0378         default 0xa8001c0000000000 if PPC_BOOK3E_64