powerpc/mm/32s: add setibat() clearibat() and update_bats()
[linux-block.git] / arch / powerpc / Kconfig
CommitLineData
b2441318 1# SPDX-License-Identifier: GPL-2.0
a0ae9c7c 2source "arch/powerpc/platforms/Kconfig.cputype"
17e638bc 3
14cf11af
PM
4config PPC32
5 bool
6 default y if !PPC64
7
234a71a7 8config 32BIT
9 bool
10 default y if PPC32
11
14cf11af
PM
12config 64BIT
13 bool
14 default y if PPC64
15
14cf11af
PM
16config MMU
17 bool
18 default y
19
9fea59bd
ME
20config ARCH_MMAP_RND_BITS_MAX
21 # On Book3S 64, the default virtual address space for 64-bit processes
22 # is 2^47 (128TB). As a maximum, allow randomisation to consume up to
23 # 32T of address space (2^45), which should ensure a reasonable gap
24 # between bottom-up and top-down allocations for applications that
25 # consume "normal" amounts of address space. Book3S 64 only supports 64K
26 # and 4K page sizes.
27 default 29 if PPC_BOOK3S_64 && PPC_64K_PAGES # 29 = 45 (32T) - 16 (64K)
28 default 33 if PPC_BOOK3S_64 # 33 = 45 (32T) - 12 (4K)
29 #
30 # On all other 64-bit platforms (currently only Book3E), the virtual
31 # address space is 2^46 (64TB). Allow randomisation to consume up to 16T
32 # of address space (2^44). Only 4K page sizes are supported.
33 default 32 if 64BIT # 32 = 44 (16T) - 12 (4K)
34 #
35 # For 32-bit, use the compat values, as they're the same.
36 default ARCH_MMAP_RND_COMPAT_BITS_MAX
37
38config ARCH_MMAP_RND_BITS_MIN
39 # Allow randomisation to consume up to 1GB of address space (2^30).
40 default 14 if 64BIT && PPC_64K_PAGES # 14 = 30 (1GB) - 16 (64K)
41 default 18 if 64BIT # 18 = 30 (1GB) - 12 (4K)
42 #
43 # For 32-bit, use the compat values, as they're the same.
44 default ARCH_MMAP_RND_COMPAT_BITS_MIN
45
46config ARCH_MMAP_RND_COMPAT_BITS_MAX
47 # Total virtual address space for 32-bit processes is 2^31 (2GB).
48 # Allow randomisation to consume up to 512MB of address space (2^29).
49 default 11 if PPC_256K_PAGES # 11 = 29 (512MB) - 18 (256K)
50 default 13 if PPC_64K_PAGES # 13 = 29 (512MB) - 16 (64K)
51 default 15 if PPC_16K_PAGES # 15 = 29 (512MB) - 14 (16K)
52 default 17 # 17 = 29 (512MB) - 12 (4K)
53
54config ARCH_MMAP_RND_COMPAT_BITS_MIN
55 # Total virtual address space for 32-bit processes is 2^31 (2GB).
56 # Allow randomisation to consume up to 8MB of address space (2^23).
57 default 5 if PPC_256K_PAGES # 5 = 23 (8MB) - 18 (256K)
58 default 7 if PPC_64K_PAGES # 7 = 23 (8MB) - 16 (64K)
59 default 9 if PPC_16K_PAGES # 9 = 23 (8MB) - 14 (16K)
60 default 11 # 11 = 23 (8MB) - 12 (4K)
61
c2a7e818 62config HAVE_SETUP_PER_CPU_AREA
e74e3962
TH
63 def_bool PPC64
64
c2a7e818 65config NEED_PER_CPU_EMBED_FIRST_CHUNK
b32ef636 66 def_bool PPC64
67
551b81f2
ME
68config NR_IRQS
69 int "Number of virtual interrupt numbers"
859aefc5 70 range 32 32768
551b81f2
ME
71 default "512"
72 help
73 This defines the number of virtual interrupt numbers the kernel
74 can manage. Virtual interrupt numbers are what you see in
75 /proc/interrupts. If you configure your system to have too few,
76 drivers will fail to load or worse - handle with care.
77
ddd703ca
NP
78config NMI_IPI
79 bool
2104180a 80 depends on SMP && (DEBUGGER || KEXEC_CORE || HARDLOCKUP_DETECTOR)
ddd703ca
NP
81 default y
82
75eb767e
NP
83config PPC_WATCHDOG
84 bool
85 depends on HARDLOCKUP_DETECTOR
86 depends on HAVE_HARDLOCKUP_DETECTOR_ARCH
87 default y
88 help
89 This is a placeholder when the powerpc hardlockup detector
90 watchdog is selected (arch/powerpc/kernel/watchdog.c). It is
91 seleted via the generic lockup detector menu which is why we
92 have no standalone config option for it here.
93
fd3e0bbc
CH
94config STACKTRACE_SUPPORT
95 bool
96 default y
97
945feb17
BH
98config TRACE_IRQFLAGS_SUPPORT
99 bool
945feb17
BH
100 default y
101
102config LOCKDEP_SUPPORT
103 bool
104 default y
105
14cf11af
PM
106config RWSEM_GENERIC_SPINLOCK
107 bool
108
109config RWSEM_XCHGADD_ALGORITHM
110 bool
111 default y
112
95c354fe
NP
113config GENERIC_LOCKBREAK
114 bool
115 default y
116 depends on SMP && PREEMPT
117
e779b2f9
AM
118config GENERIC_HWEIGHT
119 bool
120 default y
121
14cf11af
PM
122config PPC
123 bool
124 default y
a7d2475a
ME
125 #
126 # Please keep this list sorted alphabetically.
127 #
6bf752da 128 select ARCH_HAS_DEBUG_VIRTUAL
a7d2475a 129 select ARCH_HAS_DEVMEM_IS_ALLOWED
a7d2475a 130 select ARCH_HAS_ELF_RANDOMIZE
6974f0c4 131 select ARCH_HAS_FORTIFY_SOURCE
a7d2475a 132 select ARCH_HAS_GCOV_PROFILE_ALL
ea8c64ac 133 select ARCH_HAS_PHYS_TO_DMA
32ce3862 134 select ARCH_HAS_PMEM_API if PPC64
3010a5ea 135 select ARCH_HAS_PTE_SPECIAL
3ccfebed 136 select ARCH_HAS_MEMBARRIER_CALLBACKS
abcff86d 137 select ARCH_HAS_SCALED_CPUTIME if VIRT_CPU_ACCOUNTING_NATIVE && PPC64
4ec591e5 138 select ARCH_HAS_STRICT_KERNEL_RWX if ((PPC_BOOK3S_64 || PPC32) && !RELOCATABLE && !HIBERNATION)
a7d2475a 139 select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
6c44741d 140 select ARCH_HAS_UACCESS_FLUSHCACHE if PPC64
a7d2475a 141 select ARCH_HAS_UBSAN_SANITIZE_ALL
c0742441 142 select ARCH_HAS_ZONE_DEVICE if PPC_BOOK3S_64
a7d2475a 143 select ARCH_HAVE_NMI_SAFE_CMPXCHG
b7e7c37b 144 select ARCH_MIGHT_HAVE_PC_PARPORT
c74e6d3d 145 select ARCH_MIGHT_HAVE_PC_SERIO
4ec591e5 146 select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX
a7d2475a 147 select ARCH_SUPPORTS_ATOMIC_RMW
a7d2475a
ME
148 select ARCH_USE_BUILTIN_BSWAP
149 select ARCH_USE_CMPXCHG_LOCKREF if PPC64
150 select ARCH_WANT_IPC_PARSE_VERSION
77e58496 151 select ARCH_WEAK_RELEASE_ACQUIRE
d812c0e1 152 select BINFMT_ELF
a7d2475a
ME
153 select BUILDTIME_EXTABLE_SORT
154 select CLONE_BACKWARDS
155 select DCACHE_WORD_ACCESS if PPC64 && CPU_LITTLE_ENDIAN
0c0c5230 156 select DYNAMIC_FTRACE if FUNCTION_TRACER
a7d2475a
ME
157 select EDAC_ATOMIC_SCRUB
158 select EDAC_SUPPORT
159 select GENERIC_ATOMIC64 if PPC32
160 select GENERIC_CLOCKEVENTS
161 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
162 select GENERIC_CMOS_UPDATE
163 select GENERIC_CPU_AUTOPROBE
179ab1cb 164 select GENERIC_CPU_VULNERABILITIES if PPC_BARRIER_NOSPEC
a7d2475a
ME
165 select GENERIC_IRQ_SHOW
166 select GENERIC_IRQ_SHOW_LEVEL
eb01d42a 167 select GENERIC_PCI_IOMAP if PCI
a7d2475a
ME
168 select GENERIC_SMP_IDLE_THREAD
169 select GENERIC_STRNCPY_FROM_USER
170 select GENERIC_STRNLEN_USER
d4cfb113 171 select GENERIC_TIME_VSYSCALL
a7d2475a 172 select HAVE_ARCH_AUDITSYSCALL
a7d2475a
ME
173 select HAVE_ARCH_JUMP_LABEL
174 select HAVE_ARCH_KGDB
9fea59bd
ME
175 select HAVE_ARCH_MMAP_RND_BITS
176 select HAVE_ARCH_MMAP_RND_COMPAT_BITS if COMPAT
a7d2475a
ME
177 select HAVE_ARCH_SECCOMP_FILTER
178 select HAVE_ARCH_TRACEHOOK
179 select HAVE_CBPF_JIT if !PPC64
bf6cbd0c
ME
180 select HAVE_STACKPROTECTOR if PPC64 && $(cc-option,-mstack-protector-guard=tls -mstack-protector-guard-reg=r13)
181 select HAVE_STACKPROTECTOR if PPC32 && $(cc-option,-mstack-protector-guard=tls -mstack-protector-guard-reg=r2)
a7d2475a
ME
182 select HAVE_CONTEXT_TRACKING if PPC64
183 select HAVE_DEBUG_KMEMLEAK
184 select HAVE_DEBUG_STACKOVERFLOW
2b79d696 185 select HAVE_DYNAMIC_FTRACE
a7d2475a
ME
186 select HAVE_DYNAMIC_FTRACE_WITH_REGS if MPROFILE_KERNEL
187 select HAVE_EBPF_JIT if PPC64
188 select HAVE_EFFICIENT_UNALIGNED_ACCESS if !(CPU_LITTLE_ENDIAN && POWER7_CPU)
189 select HAVE_FTRACE_MCOUNT_RECORD
7cd01b08 190 select HAVE_FUNCTION_ERROR_INJECTION
60ce8f72 191 select HAVE_FUNCTION_GRAPH_TRACER
a7d2475a 192 select HAVE_FUNCTION_TRACER
8034c2fb 193 select HAVE_GCC_PLUGINS if GCC_VERSION >= 50200 # plugin support on gcc <= 5.1 is buggy on PPC
e585513b 194 select HAVE_GENERIC_GUP
a7d2475a 195 select HAVE_HW_BREAKPOINT if PERF_EVENTS && (PPC_BOOK3S || PPC_8xx)
ec7748b5 196 select HAVE_IDE
a1f242ff 197 select HAVE_IOREMAP_PROT
a7d2475a
ME
198 select HAVE_IRQ_EXIT_ON_IRQ_STACK
199 select HAVE_KERNEL_GZIP
423bfc69 200 select HAVE_KERNEL_XZ if PPC_BOOK3S || 44x
3f550096 201 select HAVE_KPROBES
ead514d5 202 select HAVE_KPROBES_ON_FTRACE
9edddaa2 203 select HAVE_KRETPROBES
4c1d9bb0 204 select HAVE_LD_DEAD_CODE_DATA_ELIMINATION
a7d2475a 205 select HAVE_LIVEPATCH if HAVE_DYNAMIC_FTRACE_WITH_REGS
1d7cfe18 206 select HAVE_MEMBLOCK_NODE_MAP
a7d2475a 207 select HAVE_MOD_ARCH_SPECIFIC
2104180a
NP
208 select HAVE_NMI if PERF_EVENTS || (PPC64 && PPC_BOOK3S)
209 select HAVE_HARDLOCKUP_DETECTOR_ARCH if (PPC64 && PPC_BOOK3S)
4e491d14 210 select HAVE_OPROFILE
a7d2475a 211 select HAVE_OPTPROBES if PPC64
cdd6c482 212 select HAVE_PERF_EVENTS
a7d2475a 213 select HAVE_PERF_EVENTS_NMI if PPC64
92e5aae4 214 select HAVE_HARDLOCKUP_DETECTOR_PERF if PERF_EVENTS && HAVE_PERF_EVENTS_NMI && !HAVE_HARDLOCKUP_DETECTOR_ARCH
ed4a4ef8 215 select HAVE_PERF_REGS
17ed7c38 216 select HAVE_PERF_USER_STACK_DUMP
a7d2475a 217 select HAVE_RCU_TABLE_FREE if SMP
359e4284 218 select HAVE_REGS_AND_STACK_ACCESS_API
a50d3250 219 select HAVE_RELIABLE_STACKTRACE if PPC_BOOK3S_64 && CPU_LITTLE_ENDIAN
a7d2475a
ME
220 select HAVE_SYSCALL_TRACEPOINTS
221 select HAVE_VIRT_CPU_ACCOUNTING
518470fe 222 select HAVE_IRQ_TIME_ACCOUNTING
8a417c48 223 select HAVE_RSEQ
a4ce5a48 224 select IOMMU_HELPER if PPC64
cc79ca69 225 select IRQ_DOMAIN
e8d2c473 226 select IRQ_FORCED_THREADING
786d35d4 227 select MODULES_USE_ELF_RELA
06832fc0 228 select NEED_DMA_MAP_STATE if PPC64 || NOT_COHERENT_CACHE
86596f0a 229 select NEED_SG_DMA_LENGTH
a7d2475a
ME
230 select OF
231 select OF_EARLY_FLATTREE
232 select OF_RESERVED_MEM
233 select OLD_SIGACTION if PPC32
234 select OLD_SIGSUSPEND
2eac9c2d 235 select PCI_DOMAINS if PCI
20f1b79d 236 select PCI_SYSCALL if PCI
6e8cef38 237 select RTC_LIB
a7d2475a
ME
238 select SPARSE_IRQ
239 select SYSCTL_EXCEPTION_TRACE
240 select VIRT_TO_BUS if !PPC64
241 #
242 # Please keep this list sorted alphabetically.
243 #
14cf11af 244
179ab1cb
ME
245config PPC_BARRIER_NOSPEC
246 bool
247 default y
ebcd1bfc 248 depends on PPC_BOOK3S_64 || PPC_FSL_BOOK3E
179ab1cb 249
14cf11af
PM
250config EARLY_PRINTK
251 bool
51d3082f 252 default y
14cf11af 253
b71d47c1
JB
254config PANIC_TIMEOUT
255 int
256 default 180
257
14cf11af
PM
258config COMPAT
259 bool
260 default y if PPC64
01e31dba 261 select COMPAT_BINFMT_ELF
48b25c43 262 select ARCH_WANT_OLD_COMPAT_IPC
09a4d5d0 263 select COMPAT_OLD_SIGACTION
14cf11af
PM
264
265config SYSVIPC_COMPAT
266 bool
267 depends on COMPAT && SYSVIPC
268 default y
269
270# All PPC32s use generic nvram driver through ppc_md
271config GENERIC_NVRAM
272 bool
273 default y if PPC32
274
ae1e9130 275config SCHED_OMIT_FRAME_POINTER
14cf11af
PM
276 bool
277 default y
278
279config ARCH_MAY_HAVE_PC_FDC
280 bool
3484a31f 281 default PCI
14cf11af 282
08264cbc
KG
283config PPC_UDBG_16550
284 bool
08264cbc 285
08264cbc
KG
286config GENERIC_TBSYNC
287 bool
288 default y if PPC32 && SMP
08264cbc 289
e65e1fc2
AV
290config AUDIT_ARCH
291 bool
292 default y
293
73c9ceab
JF
294config GENERIC_BUG
295 bool
296 default y
297 depends on BUG
298
b3028878 299config SYS_SUPPORTS_APM_EMULATION
58da10bb 300 default y if PMAC_APM_EMU
b3028878
JB
301 bool
302
6c5b59b9
DG
303config EPAPR_BOOT
304 bool
305 help
306 Used to allow a board to specify it wants an ePAPR compliant wrapper.
6c5b59b9 307
f4fc4a5b
KG
308config DEFAULT_UIMAGE
309 bool
310 help
311 Used to allow a board to specify it wants a uImage built by default
f4fc4a5b 312
801e4062
JB
313config ARCH_HIBERNATION_POSSIBLE
314 bool
543b9fd3
JB
315 default y
316
f4cb5700
JB
317config ARCH_SUSPEND_POSSIBLE
318 def_bool y
4ffd6952 319 depends on ADB_PMU || PPC_EFIKA || PPC_LITE5200 || PPC_83xx || \
d0832a75
ZC
320 (PPC_85xx && !PPC_E500MC) || PPC_86xx || PPC_PSERIES \
321 || 44x || 40x
f4cb5700 322
4c75a6f4
BH
323config PPC_DCR_NATIVE
324 bool
4c75a6f4
BH
325
326config PPC_DCR_MMIO
327 bool
4c75a6f4
BH
328
329config PPC_DCR
330 bool
331 depends on PPC_DCR_NATIVE || PPC_DCR_MMIO
332 default y
333
4c9d2800
BH
334config PPC_OF_PLATFORM_PCI
335 bool
373a6da1 336 depends on PCI
4c9d2800 337 depends on PPC64 # not supported on 32 bits yet
4c9d2800 338
6a11f75b 339config ARCH_SUPPORTS_DEBUG_PAGEALLOC
4e003747 340 depends on PPC32 || PPC_BOOK3S_64
6a11f75b
AM
341 def_bool y
342
8b7b80b9
AM
343config ARCH_SUPPORTS_UPROBES
344 def_bool y
345
172ae2e7
DK
346config PPC_ADV_DEBUG_REGS
347 bool
348 depends on 40x || BOOKE
349 default y
350
351config PPC_ADV_DEBUG_IACS
352 int
353 depends on PPC_ADV_DEBUG_REGS
354 default 4 if 44x
355 default 2
356
357config PPC_ADV_DEBUG_DACS
358 int
359 depends on PPC_ADV_DEBUG_REGS
360 default 2
361
362config PPC_ADV_DEBUG_DVCS
363 int
364 depends on PPC_ADV_DEBUG_REGS
365 default 2 if 44x
366 default 0
367
368config PPC_ADV_DEBUG_DAC_RANGE
369 bool
370 depends on PPC_ADV_DEBUG_REGS && 44x
371 default y
372
25078dc1 373config ZONE_DMA
1c98025c 374 bool
25078dc1 375 default y if PPC_BOOK3E_64
1c98025c 376
06ef42a1
KS
377config PGTABLE_LEVELS
378 int
379 default 2 if !PPC64
368ced78 380 default 3 if PPC_64K_PAGES && !PPC_BOOK3S_64
06ef42a1
KS
381 default 4
382
a2d2e1ec 383source "arch/powerpc/sysdev/Kconfig"
4330f5da 384source "arch/powerpc/platforms/Kconfig"
14cf11af 385
14cf11af
PM
386menu "Kernel options"
387
388config HIGHMEM
389 bool "High memory support"
390 depends on PPC32
391
8636a1f9 392source "kernel/Kconfig.hz"
14cf11af 393
ba72cb8c
MG
394config HUGETLB_PAGE_SIZE_VARIABLE
395 bool
396 depends on HUGETLB_PAGE
397 default y
398
14cf11af
PM
399config MATH_EMULATION
400 bool "Math emulation"
968159c0 401 depends on 4xx || PPC_8xx || PPC_MPC832x || BOOKE
14cf11af
PM
402 ---help---
403 Some PowerPC chips designed for embedded applications do not have
404 a floating-point unit and therefore do not implement the
405 floating-point instructions in the PowerPC instruction set. If you
406 say Y here, the kernel will include code to emulate a floating-point
407 unit, which will allow programs that use floating-point
408 instructions to run.
409
4e63f8ed
BH
410 This is also useful to emulate missing (optional) instructions
411 such as fsqrt on cores that do have an FPU but do not implement
412 them (such as Freescale BookE).
413
e05c0e81
KH
414choice
415 prompt "Math emulation options"
416 default MATH_EMULATION_FULL
417 depends on MATH_EMULATION
418
419config MATH_EMULATION_FULL
420 bool "Emulate all the floating point instructions"
421 ---help---
422 Select this option will enable the kernel to support to emulate
423 all the floating point instructions. If your SoC doesn't have
424 a FPU, you should select this.
425
426config MATH_EMULATION_HW_UNIMPLEMENTED
427 bool "Just emulate the FPU unimplemented instructions"
428 ---help---
429 Select this if you know there does have a hardware FPU on your
430 SoC, but some floating point instructions are not implemented by that.
431
432endchoice
433
3d72bbc4
MN
434config PPC_TRANSACTIONAL_MEM
435 bool "Transactional Memory support for POWERPC"
436 depends on PPC_BOOK3S_64
437 depends on SMP
7b37a123
MN
438 select ALTIVEC
439 select VSX
3d72bbc4
MN
440 ---help---
441 Support user-mode Transactional Memory on POWERPC.
442
951eedeb
NP
443config LD_HEAD_STUB_CATCH
444 bool "Reserve 256 bytes to cope with linker stubs in HEAD text" if EXPERT
445 depends on PPC64
951eedeb
NP
446 help
447 Very large kernels can cause linker branch stubs to be generated by
448 code in head_64.S, which moves the head text sections out of their
449 specified location. This option can work around the problem.
450
451 If unsure, say "N".
452
8c50b72a
TD
453config MPROFILE_KERNEL
454 depends on PPC64 && CPU_LITTLE_ENDIAN
abba7597 455 def_bool $(success,$(srctree)/arch/powerpc/tools/gcc-check-mprofile-kernel.sh $(CC) -I$(srctree)/include -D__KERNEL__)
8c50b72a 456
14cf11af
PM
457config HOTPLUG_CPU
458 bool "Support for enabling/disabling CPUs"
40b31360 459 depends on SMP && (PPC_PSERIES || \
2f4f1f81 460 PPC_PMAC || PPC_POWERNV || FSL_SOC_BOOKE)
14cf11af
PM
461 ---help---
462 Say Y here to be able to disable and re-enable individual
463 CPUs at runtime on SMP machines.
464
465 Say N if you are unsure.
466
12633e80
NF
467config ARCH_CPU_PROBE_RELEASE
468 def_bool y
469 depends on HOTPLUG_CPU
470
cc57637b
YG
471config ARCH_ENABLE_MEMORY_HOTPLUG
472 def_bool y
473
1482471d
BP
474config ARCH_ENABLE_MEMORY_HOTREMOVE
475 def_bool y
476
f2296a3d
MS
477config PPC64_SUPPORTS_MEMORY_FAILURE
478 bool "Add support for memory hwpoison"
479 depends on PPC_BOOK3S_64
480 default "y" if PPC_POWERNV
481 select ARCH_SUPPORTS_MEMORY_FAILURE
482
14cf11af 483config KEXEC
642e56ff 484 bool "kexec system call"
96eea642 485 depends on (PPC_BOOK3S || FSL_BOOKE || (44x && !SMP)) || PPC_BOOK3E
2965faa5 486 select KEXEC_CORE
14cf11af
PM
487 help
488 kexec is a system call that implements the ability to shutdown your
489 current kernel, and to start another kernel. It is like a reboot
1f1332f7 490 but it is independent of the system firmware. And like a reboot
14cf11af
PM
491 you can start any kernel with it, not just Linux.
492
1f1332f7 493 The name comes from the similarity to the exec system call.
14cf11af
PM
494
495 It is an ongoing process to be certain the hardware in a machine
496 is properly shutdown, so do not be surprised if this code does not
bf220695
GU
497 initially work for you. As of this writing the exact hardware
498 interface is strongly in flux, so no good recommendation can be
499 made.
14cf11af 500
80f60e50
TJB
501config KEXEC_FILE
502 bool "kexec file based system call"
503 select KEXEC_CORE
467d2782 504 select HAVE_IMA_KEXEC
80f60e50
TJB
505 select BUILD_BIN2C
506 depends on PPC64
507 depends on CRYPTO=y
508 depends on CRYPTO_SHA256=y
509 help
510 This is a new version of the kexec system call. This call is
511 file based and takes in file descriptors as system call arguments
512 for kernel and initramfs as opposed to a list of segments as is the
513 case for the older kexec call.
514
b799a09f
AT
515config ARCH_HAS_KEXEC_PURGATORY
516 def_bool KEXEC_FILE
517
4c91bd6e
KH
518config RELOCATABLE
519 bool "Build a relocatable kernel"
084a275e 520 depends on PPC64 || (FLATMEM && (44x || FSL_BOOKE))
4c91bd6e 521 select NONSTATIC_KERNEL
71810db2 522 select MODULE_REL_CRCS if MODVERSIONS
4c91bd6e
KH
523 help
524 This builds a kernel image that is capable of running at the
525 location the kernel is loaded at. For ppc32, there is no any
526 alignment restrictions, and this feature is a superset of
527 DYNAMIC_MEMSTART and hence overrides it. For ppc64, we should use
528 16k-aligned base address. The kernel is linked as a
529 position-independent executable (PIE) and contains dynamic relocations
530 which are processed early in the bootup process.
531
532 One use is for the kexec on panic case where the recovery kernel
533 must live at a different physical address than the primary
534 kernel.
535
536 Note: If CONFIG_RELOCATABLE=y, then the kernel runs from the address
537 it has been loaded at and the compile time physical addresses
538 CONFIG_PHYSICAL_START is ignored. However CONFIG_PHYSICAL_START
539 setting can still be useful to bootwrappers that need to know the
540 load address of the kernel (eg. u-boot/mkimage).
541
70839d20
NP
542config RELOCATABLE_TEST
543 bool "Test relocatable kernel"
544 depends on (PPC64 && RELOCATABLE)
70839d20
NP
545 help
546 This runs the relocatable kernel at the address it was initially
547 loaded at, which tends to be non-zero and therefore test the
548 relocation code.
549
e8625d46 550config CRASH_DUMP
22bd0177 551 bool "Build a dump capture kernel"
be34fff0 552 depends on PPC64 || PPC_BOOK3S_32 || FSL_BOOKE || (44x && !SMP)
084a275e 553 select RELOCATABLE if PPC64 || 44x || FSL_BOOKE
e8625d46 554 help
22bd0177 555 Build a kernel suitable for use as a dump capture kernel.
54622f10
MK
556 The same kernel binary can be used as production kernel and dump
557 capture kernel.
e8625d46 558
eb39c880
MS
559config FA_DUMP
560 bool "Firmware-assisted dump"
22bd0177
HB
561 depends on PPC64 && PPC_RTAS
562 select CRASH_CORE
563 select CRASH_DUMP
242f271c 564 help
eb39c880
MS
565 A robust mechanism to get reliable kernel crash dump with
566 assistance from firmware. This approach does not use kexec,
22bd0177 567 instead firmware assists in booting the capture kernel
eb39c880
MS
568 while preserving memory contents. Firmware-assisted dump
569 is meant to be a kdump replacement offering robustness and
570 speed not possible without system firmware assistance.
242f271c
MA
571
572 If unsure, say "N"
573
14cf11af
PM
574config IRQ_ALL_CPUS
575 bool "Distribute interrupts on all CPUs by default"
6cf09b9d 576 depends on SMP
14cf11af
PM
577 help
578 This option gives the kernel permission to distribute IRQs across
579 multiple CPUs. Saying N here will route all IRQs to the first
580 CPU. Generally saying Y is safe, although some problems have been
581 reported with SMP Power Macintoshes with this option enabled.
582
ffa27b6b
AW
583config NUMA
584 bool "NUMA support"
585 depends on PPC64
586 default y if SMP && PPC_PSERIES
587
c80d79d7
YG
588config NODES_SHIFT
589 int
ea55bf29 590 default "8" if PPC64
c80d79d7
YG
591 default "4"
592 depends on NEED_MULTIPLE_NODES
593
8c272261
NA
594config USE_PERCPU_NUMA_NODE_ID
595 def_bool y
596 depends on NUMA
597
64bb80d8
NA
598config HAVE_MEMORYLESS_NODES
599 def_bool y
600 depends on NUMA
601
14cf11af
PM
602config ARCH_SELECT_MEMORY_MODEL
603 def_bool y
604 depends on PPC64
605
606config ARCH_FLATMEM_ENABLE
9100b205
AW
607 def_bool y
608 depends on (PPC64 && !NUMA) || PPC32
14cf11af 609
45fb6cea 610config ARCH_SPARSEMEM_ENABLE
14cf11af 611 def_bool y
9100b205 612 depends on PPC64
d29eff7b 613 select SPARSEMEM_VMEMMAP_ENABLE
14cf11af 614
45fb6cea 615config ARCH_SPARSEMEM_DEFAULT
14cf11af 616 def_bool y
7b3912f4 617 depends on PPC_BOOK3S_64
14cf11af 618
5a1eb5c4 619config SYS_SUPPORTS_HUGETLBFS
41151e77 620 bool
5a1eb5c4 621
f6853eb5
ME
622config ILLEGAL_POINTER_VALUE
623 hex
624 # This is roughly half way between the top of user space and the bottom
625 # of kernel space, which seems about as good as we can get.
626 default 0x5deadbeef0000000 if PPC64
627 default 0
628
7e9191da
MK
629config ARCH_MEMORY_PROBE
630 def_bool y
631 depends on MEMORY_HOTPLUG
632
75167957
AW
633# Some NUMA nodes have memory ranges that span
634# other nodes. Even though a pfn is valid and
635# between a node's start and end pfns, it may not
636# reside on that node. See memmap_init_zone()
637# for details.
638config NODES_SPAN_OTHER_NODES
639 def_bool y
640 depends on NEED_MULTIPLE_NODES
641
e1240122
YT
642config STDBINUTILS
643 bool "Using standard binutils settings"
644 depends on 44x
645 default y
646 help
647 Turning this option off allows you to select 256KB PAGE_SIZE on 44x.
648 Note, that kernel will be able to run only those applications,
649 which had been compiled using binutils later than 2.17.50.0.3 with
650 '-zmax-page-size' set to 256K (the default is 64K). Or, if using
651 the older binutils, you can patch them with a trivial patch, which
652 changes the ELF_MAXPAGESIZE definition from 0x10000 to 0x40000.
653
ca9153a3
IY
654choice
655 prompt "Page size"
656 default PPC_4K_PAGES
3c726f8d 657 help
ca9153a3
IY
658 Select the kernel logical page size. Increasing the page size
659 will reduce software overhead at each page boundary, allow
660 hardware prefetch mechanisms to be more effective, and allow
661 larger dma transfers increasing IO efficiency and reducing
662 overhead. However the utilization of memory will increase.
663 For example, each cached file will using a multiple of the
664 page size to hold its contents and the difference between the
665 end of file and the end of page is wasted.
666
667 Some dedicated systems, such as software raid serving with
668 accelerated calculations, have shown significant increases.
669
670 If you configure a 64 bit kernel for 64k pages but the
671 processor does not support them, then the kernel will simulate
672 them with 4k pages, loading them on demand, but with the
673 reduced software overhead and larger internal fragmentation.
674 For the 32 bit kernel, a large page option will not be offered
675 unless it is supported by the configured processor.
676
677 If unsure, choose 4K_PAGES.
678
679config PPC_4K_PAGES
680 bool "4k page size"
19f97c98 681 select HAVE_ARCH_SOFT_DIRTY if PPC_BOOK3S_64
ca9153a3
IY
682
683config PPC_16K_PAGES
55f8b5b8 684 bool "16k page size"
55c8fc3f 685 depends on 44x || PPC_8xx
ca9153a3
IY
686
687config PPC_64K_PAGES
55f8b5b8 688 bool "64k page size"
bba43630 689 depends on 44x || PPC_BOOK3S_64
19f97c98 690 select HAVE_ARCH_SOFT_DIRTY if PPC_BOOK3S_64
ca9153a3 691
e1240122 692config PPC_256K_PAGES
55f8b5b8
ME
693 bool "256k page size"
694 depends on 44x && !STDBINUTILS
e1240122
YT
695 help
696 Make the page size 256k.
697
698 As the ELF standard only requires alignment to support page
699 sizes up to 64k, you will need to compile all of your user
700 space applications with a non-standard binutils settings
701 (see the STDBINUTILS description for details).
702
703 Say N unless you know what you are doing.
704
ca9153a3 705endchoice
3c726f8d 706
555f4fdb
CL
707config PPC_PAGE_SHIFT
708 int
709 default 18 if PPC_256K_PAGES
710 default 16 if PPC_64K_PAGES
711 default 14 if PPC_16K_PAGES
712 default 12
713
47613407
HM
714config THREAD_SHIFT
715 int "Thread shift" if EXPERT
716 range 13 15
717 default "15" if PPC_256K_PAGES
718 default "14" if PPC64
719 default "13"
720 help
721 Used to define the stack size. The default is almost always what you
722 want. Only change this if you know what you are doing.
723
166d97d9
CL
724config ETEXT_SHIFT
725 int
726 default PPC_PAGE_SHIFT
727
728config DATA_SHIFT
729 int
730 default 24 if STRICT_KERNEL_RWX && PPC64
731 default PPC_PAGE_SHIFT
732
53bcddb9
SR
733config FORCE_MAX_ZONEORDER
734 int "Maximum zone order"
a7ee5395 735 range 8 9 if PPC64 && PPC_64K_PAGES
066c4b87 736 default "9" if PPC64 && PPC_64K_PAGES
d5a1e42c 737 range 13 13 if PPC64 && !PPC_64K_PAGES
066c4b87
BH
738 default "13" if PPC64 && !PPC_64K_PAGES
739 range 9 64 if PPC32 && PPC_16K_PAGES
740 default "9" if PPC32 && PPC_16K_PAGES
741 range 7 64 if PPC32 && PPC_64K_PAGES
742 default "7" if PPC32 && PPC_64K_PAGES
743 range 5 64 if PPC32 && PPC_256K_PAGES
744 default "5" if PPC32 && PPC_256K_PAGES
ebe40c5c 745 range 11 64
53bcddb9
SR
746 default "11"
747 help
748 The kernel memory allocator divides physically contiguous memory
749 blocks into "zones", where each zone is a power of two number of
750 pages. This option selects the largest power of two that the kernel
751 keeps in the memory allocator. If you need to allocate very large
752 blocks of physically contiguous memory, then you may need to
753 increase this value.
754
755 This config option is actually maximum order plus one. For example,
756 a value of 11 means that the largest free memory block is 2^10 pages.
757
758 The page size is not necessarily 4KB. For example, on 64-bit
759 systems, 64KB pages can be enabled via CONFIG_PPC_64K_PAGES. Keep
760 this in mind when choosing a value for this option.
761
fa28237c
PM
762config PPC_SUBPAGE_PROT
763 bool "Support setting protections for 4k subpages"
4e003747 764 depends on PPC_BOOK3S_64 && PPC_64K_PAGES
fa28237c
PM
765 help
766 This option adds support for a system call to allow user programs
767 to set access permissions (read/write, readonly, or no access)
768 on the 4k subpages of each 64k page.
769
e83d0169
IM
770config PPC_COPRO_BASE
771 bool
e83d0169 772
14cf11af
PM
773config SCHED_SMT
774 bool "SMT (Hyperthreading) scheduler support"
775 depends on PPC64 && SMP
14cf11af
PM
776 help
777 SMT scheduler support improves the CPU scheduler's decision making
778 when dealing with POWER5 cpus at a cost of slightly increased
779 overhead in some places. If unsure say N here.
780
b92a66a6
MN
781config PPC_DENORMALISATION
782 bool "PowerPC denormalisation exception handling"
783 depends on PPC_BOOK3S_64
4e90a2a7 784 default "y" if PPC_POWERNV
b92a66a6
MN
785 ---help---
786 Add support for handling denormalisation of single precision
787 values. Useful for bare metal only. If unsure say Y here.
788
14cf11af
PM
789config CMDLINE_BOOL
790 bool "Default bootloader kernel arguments"
14cf11af
PM
791
792config CMDLINE
793 string "Initial kernel command string"
794 depends on CMDLINE_BOOL
795 default "console=ttyS0,9600 console=tty0 root=/dev/sda2"
796 help
797 On some platforms, there is currently no way for the boot loader to
798 pass arguments to the kernel. For these platforms, you can supply
799 some command-line options at build time by entering them here. In
800 most cases you will need to specify the root device here.
801
eb3b80f6
SS
802config CMDLINE_FORCE
803 bool "Always use the default kernel command string"
804 depends on CMDLINE_BOOL
805 help
806 Always use the default kernel command string, even if the boot
807 loader passes other arguments to the kernel.
808 This is useful if you cannot or don't want to change the
809 command-line options your boot loader passes to the kernel.
810
c356aa45
GL
811config EXTRA_TARGETS
812 string "Additional default image types"
813 help
814 List additional targets to be built by the bootwrapper here (separated
815 by spaces). This is useful for targets that depend of device tree
816 files in the .dts directory.
817
818 Targets in this list will be build as part of the default build
819 target, or when the user does a 'make zImage' or a
820 'make zImage.initrd'.
821
822 If unsure, leave blank
823
b28f5081
JB
824config ARCH_WANTS_FREEZER_CONTROL
825 def_bool y
826 depends on ADB_PMU
827
8636a1f9 828source "kernel/power/Kconfig"
14cf11af
PM
829
830config SECCOMP
831 bool "Enable seccomp to safely compute untrusted bytecode"
832 depends on PROC_FS
833 default y
834 help
835 This kernel feature is useful for number crunching applications
836 that may need to compute untrusted bytecode during their
837 execution. By using pipes or other transports made available to
838 the process as file descriptors supporting the read/write
839 syscalls, it's possible to isolate those applications in
840 their own address space using seccomp. Once seccomp is
841 enabled via /proc/<pid>/seccomp, it cannot be disabled
842 and the task is only allowed to execute a few safe syscalls
843 defined by each seccomp mode.
844
845 If unsure, say Y. Only embedded should say N here.
846
92e3da3c
RP
847config PPC_MEM_KEYS
848 prompt "PowerPC Memory Protection Keys"
849 def_bool y
850 depends on PPC_BOOK3S_64
851 select ARCH_USES_HIGH_VMA_FLAGS
852 select ARCH_HAS_PKEYS
853 help
854 Memory Protection Keys provides a mechanism for enforcing
855 page-based protections, but without requiring modification of the
856 page tables when an application changes protection domains.
857
ad56b738 858 For details, see Documentation/vm/protection-keys.rst
92e3da3c
RP
859
860 If unsure, say y.
861
14cf11af
PM
862endmenu
863
864config ISA_DMA_API
865 bool
3d066d77 866 default PCI
14cf11af
PM
867
868menu "Bus options"
869
870config ISA
871 bool "Support for ISA-bus hardware"
933ee711 872 depends on PPC_CHRP
f9bd170a 873 select PPC_I8259
14cf11af
PM
874 help
875 Find out whether you have ISA slots on your motherboard. ISA is the
876 name of a bus system, i.e. the way the CPU talks to the other stuff
877 inside your box. If you have an Apple machine, say N here; if you
933ee711
PB
878 have an IBM RS/6000 or pSeries machine, say Y. If you have an
879 embedded board, consult your board documentation.
14cf11af
PM
880
881config GENERIC_ISA_DMA
882 bool
1927445a 883 depends on ISA_DMA_API
14cf11af
PM
884 default y
885
25635c71
PM
886config PPC_INDIRECT_PCI
887 bool
888 depends on PCI
63dafe57 889 default y if 40x || 44x
25635c71 890
14cf11af
PM
891config SBUS
892 bool
893
08264cbc
KG
894config FSL_SOC
895 bool
896
55c44991
RZ
897config FSL_PCI
898 bool
11ddce15 899 select ARCH_HAS_DMA_SET_MASK
55c44991 900 select PPC_INDIRECT_PCI
d0839118 901 select PCI_QUIRKS
55c44991 902
4ffd6952
AV
903config FSL_PMC
904 bool
905 default y
906 depends on SUSPEND && (PPC_85xx || PPC_86xx)
907 help
908 Freescale MPC85xx/MPC86xx power management controller support
909 (suspend/resume). For MPC83xx see platforms/83xx/suspend.c
910
d164f6d4
VG
911config PPC4xx_CPM
912 bool
913 default y
914 depends on SUSPEND && (44x || 40x)
915 help
916 PPC4xx Clock Power Management (CPM) support (suspend/resume).
917 It also enables support for two different idle states (idle-wait
918 and idle-doze).
919
2a706919
SR
920config 4xx_SOC
921 bool
922
acaa7aa3 923config FSL_LBC
3ab8f2a2 924 bool "Freescale Local Bus support"
acaa7aa3 925 help
3ab8f2a2
RZ
926 Enables reporting of errors from the Freescale local bus
927 controller. Also contains some common code used by
928 drivers for specific local bus peripherals.
acaa7aa3 929
83ff9dcf
AV
930config FSL_GTM
931 bool
932 depends on PPC_83xx || QUICC_ENGINE || CPM2
933 help
934 Freescale General-purpose Timers support
935
14cf11af
PM
936config PCI_8260
937 bool
938 depends on PCI && 8260
25635c71 939 select PPC_INDIRECT_PCI
14cf11af
PM
940 default y
941
388b78ad
AB
942config FSL_RIO
943 bool "Freescale Embedded SRIO Controller support"
1753d50c 944 depends on RAPIDIO = y && HAVE_RAPIDIO
388b78ad
AB
945 default "n"
946 ---help---
947 Include support for RapidIO controller on Freescale embedded
948 processors (MPC8548, MPC8641, etc).
949
14cf11af
PM
950endmenu
951
0f890c8d
SP
952config NONSTATIC_KERNEL
953 bool
0f890c8d 954
14cf11af
PM
955menu "Advanced setup"
956 depends on PPC32
957
958config ADVANCED_OPTIONS
959 bool "Prompt for advanced kernel configuration options"
960 help
961 This option will enable prompting for a variety of advanced kernel
962 configuration options. These options can cause the kernel to not
963 work if they are set incorrectly, but can be used to optimize certain
964 aspects of kernel memory management.
965
966 Unless you know what you are doing, say N here.
967
968comment "Default settings for advanced configuration options are used"
969 depends on !ADVANCED_OPTIONS
970
14cf11af
PM
971config LOWMEM_SIZE_BOOL
972 bool "Set maximum low memory"
973 depends on ADVANCED_OPTIONS
974 help
975 This option allows you to set the maximum amount of memory which
976 will be used as "low memory", that is, memory which the kernel can
977 access directly, without having to set up a kernel virtual mapping.
978 This can be useful in optimizing the layout of kernel virtual
979 memory.
980
981 Say N here unless you know what you are doing.
982
983config LOWMEM_SIZE
984 hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL
985 default "0x30000000"
986
96051465
TP
987config LOWMEM_CAM_NUM_BOOL
988 bool "Set number of CAMs to use to map low memory"
989 depends on ADVANCED_OPTIONS && FSL_BOOKE
990 help
991 This option allows you to set the maximum number of CAM slots that
992 will be used to map low memory. There are a limited number of slots
993 available and even more limited number that will fit in the L1 MMU.
994 However, using more entries will allow mapping more low memory. This
995 can be useful in optimizing the layout of kernel virtual memory.
996
997 Say N here unless you know what you are doing.
998
999config LOWMEM_CAM_NUM
9b71dbd3 1000 depends on FSL_BOOKE
96051465
TP
1001 int "Number of CAMs to use to map low memory" if LOWMEM_CAM_NUM_BOOL
1002 default 3
1003
0f890c8d 1004config DYNAMIC_MEMSTART
642e56ff
KC
1005 bool "Enable page aligned dynamic load address for kernel"
1006 depends on ADVANCED_OPTIONS && FLATMEM && (FSL_BOOKE || 44x)
0f890c8d
SP
1007 select NONSTATIC_KERNEL
1008 help
1009 This option enables the kernel to be loaded at any page aligned
1010 physical address. The kernel creates a mapping from KERNELBASE to
1011 the address where the kernel is loaded. The page size here implies
1012 the TLB page size of the mapping for kernel on the particular platform.
1013 Please refer to the init code for finding the TLB page size.
1014
1015 DYNAMIC_MEMSTART is an easy way of implementing pseudo-RELOCATABLE
1016 kernel image, where the only restriction is the page aligned kernel
1017 load address. When this option is enabled, the compile time physical
1018 address CONFIG_PHYSICAL_START is ignored.
1019
9c5f7d39
SP
1020 This option is overridden by CONFIG_RELOCATABLE
1021
37dd2bad
KG
1022config PAGE_OFFSET_BOOL
1023 bool "Set custom page offset address"
1024 depends on ADVANCED_OPTIONS
1025 help
1026 This option allows you to set the kernel virtual address at which
1027 the kernel will map low memory. This can be useful in optimizing
1028 the virtual memory layout of the system.
1029
1030 Say N here unless you know what you are doing.
1031
1032config PAGE_OFFSET
1033 hex "Virtual address of memory base" if PAGE_OFFSET_BOOL
1034 default "0xc0000000"
1035
14cf11af
PM
1036config KERNEL_START_BOOL
1037 bool "Set custom kernel base address"
1038 depends on ADVANCED_OPTIONS
1039 help
1040 This option allows you to set the kernel virtual address at which
37dd2bad
KG
1041 the kernel will be loaded. Normally this should match PAGE_OFFSET
1042 however there are times (like kdump) that one might not want them
1043 to be the same.
14cf11af
PM
1044
1045 Say N here unless you know what you are doing.
1046
1047config KERNEL_START
1048 hex "Virtual address of kernel base" if KERNEL_START_BOOL
37dd2bad 1049 default PAGE_OFFSET if PAGE_OFFSET_BOOL
0f890c8d 1050 default "0xc2000000" if CRASH_DUMP && !NONSTATIC_KERNEL
14cf11af
PM
1051 default "0xc0000000"
1052
37dd2bad
KG
1053config PHYSICAL_START_BOOL
1054 bool "Set physical address where the kernel is loaded"
1055 depends on ADVANCED_OPTIONS && FLATMEM && FSL_BOOKE
1056 help
1057 This gives the physical address where the kernel is loaded.
1058
1059 Say N here unless you know what you are doing.
1060
1061config PHYSICAL_START
1062 hex "Physical address where the kernel is loaded" if PHYSICAL_START_BOOL
26598f28 1063 default "0x02000000" if PPC_BOOK3S && CRASH_DUMP && !NONSTATIC_KERNEL
37dd2bad
KG
1064 default "0x00000000"
1065
1066config PHYSICAL_ALIGN
1067 hex
c8f3570b 1068 default "0x04000000" if FSL_BOOKE
37dd2bad
KG
1069 help
1070 This value puts the alignment restrictions on physical address
1071 where kernel is loaded and run from. Kernel is compiled for an
1072 address which meets above alignment restriction.
1073
14cf11af
PM
1074config TASK_SIZE_BOOL
1075 bool "Set custom user task size"
1076 depends on ADVANCED_OPTIONS
1077 help
1078 This option allows you to set the amount of virtual address space
1079 allocated to user tasks. This can be useful in optimizing the
1080 virtual memory layout of the system.
1081
1082 Say N here unless you know what you are doing.
1083
1084config TASK_SIZE
1085 hex "Size of user task space" if TASK_SIZE_BOOL
933ee711 1086 default "0x80000000" if PPC_8xx
4d9e5510 1087 default "0xc0000000"
14cf11af 1088
84532a0f
BH
1089config CONSISTENT_SIZE_BOOL
1090 bool "Set custom consistent memory pool size"
1091 depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
1092 help
1093 This option allows you to set the size of the
1094 consistent memory pool. This pool of virtual memory
1095 is used to make consistent memory allocations.
1096
1097config CONSISTENT_SIZE
1098 hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL
1099 default "0x00200000" if NOT_COHERENT_CACHE
1100
14cf11af
PM
1101config PIN_TLB
1102 bool "Pinned Kernel TLBs (860 ONLY)"
87be3e2d
CL
1103 depends on ADVANCED_OPTIONS && PPC_8xx && \
1104 !DEBUG_PAGEALLOC && !STRICT_KERNEL_RWX
62f64b49 1105
a3059b0c
CL
1106config PIN_TLB_DATA
1107 bool "Pinned TLB for DATA"
1108 depends on PIN_TLB
1109 default y
62f64b49
CL
1110
1111config PIN_TLB_IMMR
1112 bool "Pinned TLB for IMMR"
96d19d70 1113 depends on PIN_TLB || PPC_EARLY_DEBUG_CPM
62f64b49 1114 default y
a3059b0c
CL
1115
1116config PIN_TLB_TEXT
1117 bool "Pinned TLB for TEXT"
1118 depends on PIN_TLB
1119 default y
14cf11af
PM
1120endmenu
1121
cabb5587 1122if PPC64
bdbc29c1 1123# This value must have zeroes in the bottom 60 bits otherwise lots will break
37dd2bad
KG
1124config PAGE_OFFSET
1125 hex
1126 default "0xc000000000000000"
cabb5587
SR
1127config KERNEL_START
1128 hex
eeb2d218 1129 default "0xc000000000000000"
37dd2bad
KG
1130config PHYSICAL_START
1131 hex
37dd2bad 1132 default "0x00000000"
cabb5587
SR
1133endif
1134
a4da0d50
ME
1135config ARCH_RANDOM
1136 def_bool n
1137
1088a209
SM
1138config PPC_LIB_RHEAP
1139 bool
1140
bbf45ba5 1141source "arch/powerpc/kvm/Kconfig"
85baa095
ME
1142
1143source "kernel/livepatch/Kconfig"