hc
2023-02-13 e440ec23c5a540cdd3f7464e8779219be6fd3d95
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
# SPDX-License-Identifier: GPL-2.0
 
config PPC_DISABLE_WERROR
   bool "Don't build arch/powerpc code with -Werror"
   default n
   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 PPC_WERROR
   bool
   depends on !PPC_DISABLE_WERROR
   default y
 
config PRINT_STACK_DEPTH
   int "Stack depth to print" if DEBUG_KERNEL
   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 HCALL_STATS
   bool "Hypervisor call instrumentation"
   depends on PPC_PSERIES && DEBUG_FS && TRACEPOINTS
   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.  A 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 PPC_EMULATED_STATS
   bool "Emulated instructions tracking"
   depends on DEBUG_FS
   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 CODE_PATCHING_SELFTEST
   bool "Run self-tests of the code-patching code"
   depends on DEBUG_KERNEL
   default n
 
config JUMP_LABEL_FEATURE_CHECKS
   bool "Enable use of jump label for cpu/mmu_has_feature()"
   depends on JUMP_LABEL
   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 JUMP_LABEL_FEATURE_CHECK_DEBUG
   bool "Do extra check on feature fixup calls"
   depends on DEBUG_KERNEL && JUMP_LABEL_FEATURE_CHECKS
   default n
   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 FTR_FIXUP_SELFTEST
   bool "Run self-tests of the feature-fixup code"
   depends on DEBUG_KERNEL
   default n
 
config MSI_BITMAP_SELFTEST
   bool "Run self-tests of the MSI bitmap code"
   depends on DEBUG_KERNEL
   default n
 
config PPC_IRQ_SOFT_MASK_DEBUG
   bool "Include extra checks for powerpc irq soft masking"
   default n
 
config XMON
   bool "Include xmon kernel debugger"
   depends on DEBUG_KERNEL
   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 XMON_DEFAULT
   bool "Enable xmon by default"
   depends on XMON
   help
     xmon is normally disabled unless booted with 'xmon=on'.
     Use 'xmon=off' to disable xmon init during runtime.
 
config XMON_DISASSEMBLY
   bool "Include disassembly support in xmon"
   depends on XMON
   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 DEBUGGER
   bool
   depends on KGDB || XMON
   default y
 
config BDI_SWITCH
   bool "Include BDI-2000 user context switcher"
   depends on DEBUG_KERNEL && PPC32
   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 BOOTX_TEXT
   bool "Support for early boot text console (BootX or OpenFirmware only)"
   depends on PPC_BOOK3S
   help
     Say Y here to see progress messages from the boot firmware in text
     mode. Requires either BootX or Open Firmware.
 
config PPC_EARLY_DEBUG
   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 PPC_EARLY_DEBUG
   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 PPC_EARLY_DEBUG_BOOTX
   bool "BootX or OpenFirmware"
   depends on BOOTX_TEXT
   help
     Select this to enable early debugging for a machine using BootX
     or OpenFirmware.
 
config PPC_EARLY_DEBUG_LPAR
   bool "LPAR HV Console"
   depends on PPC_PSERIES && HVC_CONSOLE
   help
     Select this to enable early debugging for a machine with a HVC
     console on vterm 0.
 
config PPC_EARLY_DEBUG_LPAR_HVSI
   bool "LPAR HVSI Console"
   depends on PPC_PSERIES && HVC_CONSOLE
   help
     Select this to enable early debugging for a machine with a HVSI
     console on a specified vterm.
 
config PPC_EARLY_DEBUG_G5
   bool "Apple G5"
   depends on PPC_PMAC64
   help
     Select this to enable early debugging for Apple G5 machines.
 
config PPC_EARLY_DEBUG_RTAS_PANEL
   bool "RTAS Panel"
   depends on PPC_RTAS
   help
     Select this to enable early debugging via the RTAS panel.
 
config PPC_EARLY_DEBUG_RTAS_CONSOLE
   bool "RTAS Console"
   depends on PPC_RTAS
   select UDBG_RTAS_CONSOLE
   help
     Select this to enable early debugging via the RTAS console.
 
config PPC_EARLY_DEBUG_MAPLE
   bool "Maple real mode"
   depends on PPC_MAPLE
   help
     Select this to enable early debugging for Maple.
 
config PPC_EARLY_DEBUG_PAS_REALMODE
   bool "PA Semi real mode"
   depends on PPC_PASEMI
   help
     Select this to enable early debugging for PA Semi.
     Output will be on UART0.
 
config PPC_EARLY_DEBUG_44x
   bool "Early serial debugging for IBM/AMCC 44x CPUs"
   depends on 44x
   help
     Select this to enable early debugging for IBM 44x chips via the
     inbuilt serial port.  If you enable this, ensure you set
          PPC_EARLY_DEBUG_44x_PHYSLOW below to suit your target board.
 
config PPC_EARLY_DEBUG_40x
   bool "Early serial debugging for IBM/AMCC 40x CPUs"
   depends on 40x
   help
     Select this to enable early debugging for IBM 40x chips via the
     inbuilt serial port. This works on chips with a 16550 compatible
     UART. Xilinx chips with uartlite cannot use this option.
 
config PPC_EARLY_DEBUG_CPM
   bool "Early serial debugging for Freescale CPM-based serial ports"
   depends on SERIAL_CPM
   help
     Select this to enable early debugging for Freescale chips
     using a CPM-based serial port.  This assumes that the bootwrapper
     has run, and set up the CPM in a particular way.
 
config PPC_EARLY_DEBUG_USBGECKO
   bool "Early debugging through the USB Gecko adapter"
   depends on GAMECUBE_COMMON
   select USBGECKO_UDBG
   help
     Select this to enable early debugging for Nintendo GameCube/Wii
     consoles via an external USB Gecko adapter.
 
config PPC_EARLY_DEBUG_PS3GELIC
   bool "Early debugging through the PS3 Ethernet port"
   depends on PPC_PS3
   select PS3GELIC_UDBG
   help
     Select this to enable early debugging for the PlayStation3 via
     UDP broadcasts sent out through the Ethernet port.
 
config PPC_EARLY_DEBUG_OPAL_RAW
   bool "OPAL raw console"
   depends on HVC_OPAL
   help
     Select this to enable early debugging for the PowerNV platform
     using a "raw" console
 
config PPC_EARLY_DEBUG_OPAL_HVSI
   bool "OPAL hvsi console"
   depends on HVC_OPAL
   help
     Select this to enable early debugging for the PowerNV platform
     using an "hvsi" console
 
config PPC_EARLY_DEBUG_MEMCONS
   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. A debugger
     can then be used to read kernel output or send input to the console.
endchoice
 
config PPC_MEMCONS_OUTPUT_SIZE
   int "In memory console output buffer size"
   depends on PPC_EARLY_DEBUG_MEMCONS
   default 4096
   help
     Selects the size of the output buffer (in bytes) of the in memory
     console.
 
config PPC_MEMCONS_INPUT_SIZE
   int "In memory console input buffer size"
   depends on PPC_EARLY_DEBUG_MEMCONS
   default 128
   help
     Selects the size of the input buffer (in bytes) of the in memory
     console.
 
config PPC_EARLY_DEBUG_OPAL
   def_bool y
   depends on PPC_EARLY_DEBUG_OPAL_RAW || PPC_EARLY_DEBUG_OPAL_HVSI
 
 
config PPC_EARLY_DEBUG_HVSI_VTERMNO
   hex "vterm number to use with early debug HVSI"
   depends on PPC_EARLY_DEBUG_LPAR_HVSI
   default "0x30000000"
   help
     You probably want 0x30000000 for your first serial port and
     0x30000001 for your second one
 
config PPC_EARLY_DEBUG_OPAL_VTERMNO
   hex "vterm number to use with OPAL early debug"
   depends on PPC_EARLY_DEBUG_OPAL
   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 PPC_EARLY_DEBUG_44x_PHYSLOW
   hex "Low 32 bits of early debug UART physical address"
   depends on PPC_EARLY_DEBUG_44x
   default "0x40000200"
   help
     You probably want 0x40000200 for ebony boards and
          0x40000300 for taishan
 
config PPC_EARLY_DEBUG_44x_PHYSHIGH
   hex "EPRN of early debug UART physical address"
   depends on PPC_EARLY_DEBUG_44x
   default "0x1"
 
config PPC_EARLY_DEBUG_40x_PHYSADDR
   hex "Early debug UART physical address"
   depends on PPC_EARLY_DEBUG_40x
   default "0xef600300"
 
config PPC_EARLY_DEBUG_CPM_ADDR
   hex "CPM UART early debug transmit descriptor address"
   depends on PPC_EARLY_DEBUG_CPM
   default "0xfa202008" if PPC_EP88XC
   default "0xf0001ff8" if CPM2
   default "0xff002008" if CPM1
   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 FAIL_IOMMU
   bool "Fault-injection capability for IOMMU"
   depends on FAULT_INJECTION
   depends on PCI || IBMVIO
   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 PPC_PTDUMP
        bool "Export kernel pagetable layout to userspace via debugfs"
        depends on DEBUG_KERNEL && DEBUG_FS
        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 PPC_HTDUMP
   def_bool y
   depends on PPC_PTDUMP && PPC_BOOK3S_64
 
config PPC_FAST_ENDIAN_SWITCH
   bool "Deprecated fast endian-switch syscall"
        depends on DEBUG_KERNEL && PPC_BOOK3S_64
        help
     If you're unsure what this is, say N.