cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

Kconfig.debug (11600B)


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