.. | .. |
---|
1 | 1 | # SPDX-License-Identifier: GPL-2.0 |
---|
2 | 2 | source "arch/powerpc/platforms/Kconfig.cputype" |
---|
3 | 3 | |
---|
4 | | -config PPC32 |
---|
5 | | - bool |
---|
6 | | - default y if !PPC64 |
---|
7 | | - |
---|
8 | 4 | config 32BIT |
---|
9 | 5 | bool |
---|
10 | 6 | default y if PPC32 |
---|
.. | .. |
---|
48 | 44 | # Allow randomisation to consume up to 512MB of address space (2^29). |
---|
49 | 45 | default 11 if PPC_256K_PAGES # 11 = 29 (512MB) - 18 (256K) |
---|
50 | 46 | default 13 if PPC_64K_PAGES # 13 = 29 (512MB) - 16 (64K) |
---|
51 | | - default 15 if PPC_16K_PAGES # 15 = 29 (512MB) - 14 (16K) |
---|
| 47 | + default 15 if PPC_16K_PAGES # 15 = 29 (512MB) - 14 (16K) |
---|
52 | 48 | default 17 # 17 = 29 (512MB) - 12 (4K) |
---|
53 | 49 | |
---|
54 | 50 | config ARCH_MMAP_RND_COMPAT_BITS_MIN |
---|
.. | .. |
---|
63 | 59 | def_bool PPC64 |
---|
64 | 60 | |
---|
65 | 61 | config NEED_PER_CPU_EMBED_FIRST_CHUNK |
---|
66 | | - def_bool PPC64 |
---|
| 62 | + def_bool y if PPC64 |
---|
| 63 | + |
---|
| 64 | +config NEED_PER_CPU_PAGE_FIRST_CHUNK |
---|
| 65 | + def_bool y if PPC64 |
---|
67 | 66 | |
---|
68 | 67 | config NR_IRQS |
---|
69 | 68 | int "Number of virtual interrupt numbers" |
---|
.. | .. |
---|
103 | 102 | bool |
---|
104 | 103 | default y |
---|
105 | 104 | |
---|
106 | | -config RWSEM_GENERIC_SPINLOCK |
---|
107 | | - bool |
---|
108 | | - default y if PREEMPT_RT_FULL |
---|
109 | | - |
---|
110 | | -config RWSEM_XCHGADD_ALGORITHM |
---|
111 | | - bool |
---|
112 | | - default y if !PREEMPT_RT_FULL |
---|
113 | | - |
---|
114 | 105 | config GENERIC_LOCKBREAK |
---|
115 | 106 | bool |
---|
116 | 107 | default y |
---|
117 | | - depends on SMP && PREEMPT |
---|
| 108 | + depends on SMP && PREEMPTION |
---|
118 | 109 | |
---|
119 | 110 | config GENERIC_HWEIGHT |
---|
120 | 111 | bool |
---|
121 | 112 | default y |
---|
122 | | - |
---|
123 | | -config ARCH_HAS_DMA_SET_COHERENT_MASK |
---|
124 | | - bool |
---|
125 | 113 | |
---|
126 | 114 | config PPC |
---|
127 | 115 | bool |
---|
.. | .. |
---|
129 | 117 | # |
---|
130 | 118 | # Please keep this list sorted alphabetically. |
---|
131 | 119 | # |
---|
| 120 | + select ARCH_32BIT_OFF_T if PPC32 |
---|
| 121 | + select ARCH_HAS_DEBUG_VIRTUAL |
---|
132 | 122 | select ARCH_HAS_DEVMEM_IS_ALLOWED |
---|
133 | | - select ARCH_HAS_DMA_SET_COHERENT_MASK |
---|
134 | 123 | select ARCH_HAS_ELF_RANDOMIZE |
---|
135 | 124 | select ARCH_HAS_FORTIFY_SOURCE |
---|
136 | 125 | select ARCH_HAS_GCOV_PROFILE_ALL |
---|
| 126 | + select ARCH_HAS_KCOV |
---|
| 127 | + select ARCH_HAS_HUGEPD if HUGETLB_PAGE |
---|
| 128 | + select ARCH_HAS_MEMREMAP_COMPAT_ALIGN |
---|
| 129 | + select ARCH_HAS_MMIOWB if PPC64 |
---|
137 | 130 | select ARCH_HAS_PHYS_TO_DMA |
---|
138 | | - select ARCH_HAS_PMEM_API if PPC64 |
---|
| 131 | + select ARCH_HAS_PMEM_API |
---|
| 132 | + select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE |
---|
| 133 | + select ARCH_HAS_PTE_DEVMAP if PPC_BOOK3S_64 |
---|
139 | 134 | select ARCH_HAS_PTE_SPECIAL |
---|
140 | 135 | select ARCH_HAS_MEMBARRIER_CALLBACKS |
---|
141 | | - select ARCH_HAS_SCALED_CPUTIME if VIRT_CPU_ACCOUNTING_NATIVE |
---|
142 | | - select ARCH_HAS_SG_CHAIN |
---|
| 136 | + select ARCH_HAS_MEMBARRIER_SYNC_CORE |
---|
| 137 | + select ARCH_HAS_SCALED_CPUTIME if VIRT_CPU_ACCOUNTING_NATIVE && PPC_BOOK3S_64 |
---|
143 | 138 | select ARCH_HAS_STRICT_KERNEL_RWX if (PPC32 && !HIBERNATION) |
---|
144 | 139 | select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST |
---|
145 | | - select ARCH_HAS_UACCESS_FLUSHCACHE if PPC64 |
---|
| 140 | + select ARCH_HAS_UACCESS_FLUSHCACHE |
---|
| 141 | + select ARCH_HAS_COPY_MC if PPC64 |
---|
146 | 142 | select ARCH_HAS_UBSAN_SANITIZE_ALL |
---|
147 | | - select ARCH_HAS_ZONE_DEVICE if PPC_BOOK3S_64 |
---|
148 | 143 | select ARCH_HAVE_NMI_SAFE_CMPXCHG |
---|
| 144 | + select ARCH_KEEP_MEMBLOCK |
---|
149 | 145 | select ARCH_MIGHT_HAVE_PC_PARPORT |
---|
150 | 146 | select ARCH_MIGHT_HAVE_PC_SERIO |
---|
151 | 147 | select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX |
---|
152 | 148 | select ARCH_SUPPORTS_ATOMIC_RMW |
---|
| 149 | + select ARCH_SUPPORTS_RT if HAVE_POSIX_CPU_TIMERS_TASK_WORK |
---|
153 | 150 | select ARCH_USE_BUILTIN_BSWAP |
---|
154 | 151 | select ARCH_USE_CMPXCHG_LOCKREF if PPC64 |
---|
| 152 | + select ARCH_USE_QUEUED_RWLOCKS if PPC_QUEUED_SPINLOCKS |
---|
| 153 | + select ARCH_USE_QUEUED_SPINLOCKS if PPC_QUEUED_SPINLOCKS |
---|
155 | 154 | select ARCH_WANT_IPC_PARSE_VERSION |
---|
156 | 155 | select ARCH_WANT_IRQS_OFF_ACTIVATE_MM |
---|
| 156 | + select ARCH_WANT_LD_ORPHAN_WARN |
---|
157 | 157 | select ARCH_WEAK_RELEASE_ACQUIRE |
---|
158 | 158 | select BINFMT_ELF |
---|
159 | | - select BUILDTIME_EXTABLE_SORT |
---|
| 159 | + select BUILDTIME_TABLE_SORT |
---|
160 | 160 | select CLONE_BACKWARDS |
---|
161 | 161 | select DCACHE_WORD_ACCESS if PPC64 && CPU_LITTLE_ENDIAN |
---|
| 162 | + select DMA_OPS if PPC64 |
---|
| 163 | + select DMA_OPS_BYPASS if PPC64 |
---|
162 | 164 | select DYNAMIC_FTRACE if FUNCTION_TRACER |
---|
163 | 165 | select EDAC_ATOMIC_SCRUB |
---|
164 | 166 | select EDAC_SUPPORT |
---|
.. | .. |
---|
168 | 170 | select GENERIC_CMOS_UPDATE |
---|
169 | 171 | select GENERIC_CPU_AUTOPROBE |
---|
170 | 172 | select GENERIC_CPU_VULNERABILITIES if PPC_BARRIER_NOSPEC |
---|
| 173 | + select GENERIC_EARLY_IOREMAP |
---|
171 | 174 | select GENERIC_IRQ_SHOW |
---|
172 | 175 | select GENERIC_IRQ_SHOW_LEVEL |
---|
| 176 | + select GENERIC_PCI_IOMAP if PCI |
---|
173 | 177 | select GENERIC_SMP_IDLE_THREAD |
---|
174 | 178 | select GENERIC_STRNCPY_FROM_USER |
---|
175 | 179 | select GENERIC_STRNLEN_USER |
---|
176 | 180 | select GENERIC_TIME_VSYSCALL |
---|
177 | 181 | select HAVE_ARCH_AUDITSYSCALL |
---|
| 182 | + select HAVE_ARCH_HUGE_VMAP if PPC_BOOK3S_64 && PPC_RADIX_MMU |
---|
178 | 183 | select HAVE_ARCH_JUMP_LABEL |
---|
| 184 | + select HAVE_ARCH_KASAN if PPC32 && PPC_PAGE_SHIFT <= 14 |
---|
| 185 | + select HAVE_ARCH_KASAN_VMALLOC if PPC32 && PPC_PAGE_SHIFT <= 14 |
---|
179 | 186 | select HAVE_ARCH_KGDB |
---|
180 | 187 | select HAVE_ARCH_MMAP_RND_BITS |
---|
181 | 188 | select HAVE_ARCH_MMAP_RND_COMPAT_BITS if COMPAT |
---|
| 189 | + select HAVE_ARCH_NVRAM_OPS |
---|
182 | 190 | select HAVE_ARCH_SECCOMP_FILTER |
---|
183 | 191 | select HAVE_ARCH_TRACEHOOK |
---|
| 192 | + select HAVE_ASM_MODVERSIONS |
---|
| 193 | + select HAVE_C_RECORDMCOUNT |
---|
184 | 194 | select HAVE_CBPF_JIT if !PPC64 |
---|
| 195 | + select HAVE_STACKPROTECTOR if PPC64 && $(cc-option,-mstack-protector-guard=tls -mstack-protector-guard-reg=r13) |
---|
| 196 | + select HAVE_STACKPROTECTOR if PPC32 && $(cc-option,-mstack-protector-guard=tls -mstack-protector-guard-reg=r2) |
---|
185 | 197 | select HAVE_CONTEXT_TRACKING if PPC64 |
---|
| 198 | + select HAVE_TIF_NOHZ if PPC64 |
---|
186 | 199 | select HAVE_DEBUG_KMEMLEAK |
---|
187 | 200 | select HAVE_DEBUG_STACKOVERFLOW |
---|
188 | 201 | select HAVE_DYNAMIC_FTRACE |
---|
189 | 202 | select HAVE_DYNAMIC_FTRACE_WITH_REGS if MPROFILE_KERNEL |
---|
190 | 203 | select HAVE_EBPF_JIT if PPC64 |
---|
191 | 204 | select HAVE_EFFICIENT_UNALIGNED_ACCESS if !(CPU_LITTLE_ENDIAN && POWER7_CPU) |
---|
| 205 | + select HAVE_FAST_GUP |
---|
192 | 206 | select HAVE_FTRACE_MCOUNT_RECORD |
---|
| 207 | + select HAVE_FUNCTION_ERROR_INJECTION |
---|
193 | 208 | select HAVE_FUNCTION_GRAPH_TRACER |
---|
194 | 209 | select HAVE_FUNCTION_TRACER |
---|
195 | 210 | select HAVE_GCC_PLUGINS if GCC_VERSION >= 50200 # plugin support on gcc <= 5.1 is buggy on PPC |
---|
196 | | - select HAVE_GENERIC_GUP |
---|
197 | 211 | select HAVE_HW_BREAKPOINT if PERF_EVENTS && (PPC_BOOK3S || PPC_8xx) |
---|
198 | 212 | select HAVE_IDE |
---|
199 | 213 | select HAVE_IOREMAP_PROT |
---|
200 | 214 | select HAVE_IRQ_EXIT_ON_IRQ_STACK |
---|
201 | 215 | select HAVE_KERNEL_GZIP |
---|
202 | | - select HAVE_KERNEL_XZ if PPC_BOOK3S |
---|
| 216 | + select HAVE_KERNEL_LZMA if DEFAULT_UIMAGE |
---|
| 217 | + select HAVE_KERNEL_LZO if DEFAULT_UIMAGE |
---|
| 218 | + select HAVE_KERNEL_XZ if PPC_BOOK3S || 44x |
---|
203 | 219 | select HAVE_KPROBES |
---|
204 | 220 | select HAVE_KPROBES_ON_FTRACE |
---|
205 | 221 | select HAVE_KRETPROBES |
---|
206 | 222 | select HAVE_LD_DEAD_CODE_DATA_ELIMINATION |
---|
207 | 223 | select HAVE_LIVEPATCH if HAVE_DYNAMIC_FTRACE_WITH_REGS |
---|
208 | | - select HAVE_MEMBLOCK |
---|
209 | | - select HAVE_MEMBLOCK_NODE_MAP |
---|
210 | 224 | select HAVE_MOD_ARCH_SPECIFIC |
---|
211 | 225 | select HAVE_NMI if PERF_EVENTS || (PPC64 && PPC_BOOK3S) |
---|
212 | 226 | select HAVE_HARDLOCKUP_DETECTOR_ARCH if PPC64 && PPC_BOOK3S && SMP |
---|
.. | .. |
---|
218 | 232 | select HAVE_PERF_REGS |
---|
219 | 233 | select HAVE_PERF_USER_STACK_DUMP |
---|
220 | 234 | select HAVE_PREEMPT_LAZY |
---|
221 | | - select HAVE_RCU_TABLE_FREE if SMP |
---|
| 235 | + select MMU_GATHER_RCU_TABLE_FREE |
---|
| 236 | + select MMU_GATHER_PAGE_SIZE |
---|
222 | 237 | select HAVE_REGS_AND_STACK_ACCESS_API |
---|
223 | | - select HAVE_RELIABLE_STACKTRACE if PPC64 && CPU_LITTLE_ENDIAN |
---|
| 238 | + select HAVE_RELIABLE_STACKTRACE if PPC_BOOK3S_64 && CPU_LITTLE_ENDIAN |
---|
224 | 239 | select HAVE_SYSCALL_TRACEPOINTS |
---|
225 | 240 | select HAVE_VIRT_CPU_ACCOUNTING |
---|
226 | 241 | select HAVE_IRQ_TIME_ACCOUNTING |
---|
| 242 | + select HAVE_POSIX_CPU_TIMERS_TASK_WORK if !KVM |
---|
227 | 243 | select HAVE_RSEQ |
---|
228 | 244 | select IOMMU_HELPER if PPC64 |
---|
229 | 245 | select IRQ_DOMAIN |
---|
.. | .. |
---|
231 | 247 | select MODULES_USE_ELF_RELA |
---|
232 | 248 | select NEED_DMA_MAP_STATE if PPC64 || NOT_COHERENT_CACHE |
---|
233 | 249 | select NEED_SG_DMA_LENGTH |
---|
234 | | - select NO_BOOTMEM |
---|
235 | 250 | select OF |
---|
236 | 251 | select OF_DMA_DEFAULT_COHERENT if !NOT_COHERENT_CACHE |
---|
237 | 252 | select OF_EARLY_FLATTREE |
---|
238 | | - select OF_RESERVED_MEM |
---|
239 | 253 | select OLD_SIGACTION if PPC32 |
---|
240 | 254 | select OLD_SIGSUSPEND |
---|
| 255 | + select PCI_DOMAINS if PCI |
---|
| 256 | + select PCI_MSI_ARCH_FALLBACKS if PCI_MSI |
---|
| 257 | + select PCI_SYSCALL if PCI |
---|
| 258 | + select PPC_DAWR if PPC64 |
---|
241 | 259 | select RTC_LIB |
---|
242 | 260 | select SPARSE_IRQ |
---|
243 | 261 | select SYSCTL_EXCEPTION_TRACE |
---|
| 262 | + select THREAD_INFO_IN_TASK |
---|
244 | 263 | select VIRT_TO_BUS if !PPC64 |
---|
245 | 264 | # |
---|
246 | 265 | # Please keep this list sorted alphabetically. |
---|
247 | 266 | # |
---|
248 | 267 | |
---|
249 | 268 | config PPC_BARRIER_NOSPEC |
---|
250 | | - bool |
---|
251 | | - default y |
---|
252 | | - depends on PPC_BOOK3S_64 || PPC_FSL_BOOK3E |
---|
253 | | - |
---|
254 | | -config GENERIC_CSUM |
---|
255 | | - def_bool n |
---|
| 269 | + bool |
---|
| 270 | + default y |
---|
| 271 | + depends on PPC_BOOK3S_64 || PPC_FSL_BOOK3E |
---|
256 | 272 | |
---|
257 | 273 | config EARLY_PRINTK |
---|
258 | 274 | bool |
---|
.. | .. |
---|
263 | 279 | default 180 |
---|
264 | 280 | |
---|
265 | 281 | config COMPAT |
---|
266 | | - bool |
---|
267 | | - default y if PPC64 |
---|
| 282 | + bool "Enable support for 32bit binaries" |
---|
| 283 | + depends on PPC64 |
---|
| 284 | + default y if !CPU_LITTLE_ENDIAN |
---|
268 | 285 | select COMPAT_BINFMT_ELF |
---|
269 | 286 | select ARCH_WANT_OLD_COMPAT_IPC |
---|
270 | 287 | select COMPAT_OLD_SIGACTION |
---|
.. | .. |
---|
273 | 290 | bool |
---|
274 | 291 | depends on COMPAT && SYSVIPC |
---|
275 | 292 | default y |
---|
276 | | - |
---|
277 | | -# All PPC32s use generic nvram driver through ppc_md |
---|
278 | | -config GENERIC_NVRAM |
---|
279 | | - bool |
---|
280 | | - default y if PPC32 |
---|
281 | 293 | |
---|
282 | 294 | config SCHED_OMIT_FRAME_POINTER |
---|
283 | 295 | bool |
---|
.. | .. |
---|
289 | 301 | |
---|
290 | 302 | config PPC_UDBG_16550 |
---|
291 | 303 | bool |
---|
292 | | - default n |
---|
293 | 304 | |
---|
294 | 305 | config GENERIC_TBSYNC |
---|
295 | 306 | bool |
---|
296 | 307 | default y if PPC32 && SMP |
---|
297 | | - default n |
---|
298 | 308 | |
---|
299 | 309 | config AUDIT_ARCH |
---|
300 | 310 | bool |
---|
.. | .. |
---|
313 | 323 | bool |
---|
314 | 324 | help |
---|
315 | 325 | Used to allow a board to specify it wants an ePAPR compliant wrapper. |
---|
316 | | - default n |
---|
317 | 326 | |
---|
318 | 327 | config DEFAULT_UIMAGE |
---|
319 | 328 | bool |
---|
320 | 329 | help |
---|
321 | 330 | Used to allow a board to specify it wants a uImage built by default |
---|
322 | | - default n |
---|
323 | 331 | |
---|
324 | 332 | config ARCH_HIBERNATION_POSSIBLE |
---|
325 | 333 | bool |
---|
.. | .. |
---|
331 | 339 | (PPC_85xx && !PPC_E500MC) || PPC_86xx || PPC_PSERIES \ |
---|
332 | 340 | || 44x || 40x |
---|
333 | 341 | |
---|
| 342 | +config ARCH_SUSPEND_NONZERO_CPU |
---|
| 343 | + def_bool y |
---|
| 344 | + depends on PPC_POWERNV || PPC_PSERIES |
---|
| 345 | + |
---|
334 | 346 | config PPC_DCR_NATIVE |
---|
335 | 347 | bool |
---|
336 | | - default n |
---|
337 | 348 | |
---|
338 | 349 | config PPC_DCR_MMIO |
---|
339 | 350 | bool |
---|
340 | | - default n |
---|
341 | 351 | |
---|
342 | 352 | config PPC_DCR |
---|
343 | 353 | bool |
---|
.. | .. |
---|
348 | 358 | bool |
---|
349 | 359 | depends on PCI |
---|
350 | 360 | depends on PPC64 # not supported on 32 bits yet |
---|
351 | | - default n |
---|
352 | 361 | |
---|
353 | 362 | config ARCH_SUPPORTS_DEBUG_PAGEALLOC |
---|
354 | 363 | depends on PPC32 || PPC_BOOK3S_64 |
---|
.. | .. |
---|
384 | 393 | depends on PPC_ADV_DEBUG_REGS && 44x |
---|
385 | 394 | default y |
---|
386 | 395 | |
---|
387 | | -config ZONE_DMA32 |
---|
| 396 | +config PPC_DAWR |
---|
388 | 397 | bool |
---|
389 | | - default y if PPC64 |
---|
| 398 | + |
---|
| 399 | +config ZONE_DMA |
---|
| 400 | + bool |
---|
| 401 | + default y if PPC_BOOK3E_64 |
---|
390 | 402 | |
---|
391 | 403 | config PGTABLE_LEVELS |
---|
392 | 404 | int |
---|
393 | 405 | default 2 if !PPC64 |
---|
394 | | - default 3 if PPC_64K_PAGES && !PPC_BOOK3S_64 |
---|
395 | 406 | default 4 |
---|
396 | 407 | |
---|
397 | 408 | source "arch/powerpc/sysdev/Kconfig" |
---|
.. | .. |
---|
401 | 412 | |
---|
402 | 413 | config HIGHMEM |
---|
403 | 414 | bool "High memory support" |
---|
404 | | - depends on PPC32 && !PREEMPT_RT_FULL |
---|
| 415 | + depends on PPC32 |
---|
| 416 | + select KMAP_LOCAL |
---|
405 | 417 | |
---|
406 | | -source kernel/Kconfig.hz |
---|
| 418 | +source "kernel/Kconfig.hz" |
---|
407 | 419 | |
---|
408 | 420 | config HUGETLB_PAGE_SIZE_VARIABLE |
---|
409 | 421 | bool |
---|
410 | | - depends on HUGETLB_PAGE |
---|
| 422 | + depends on HUGETLB_PAGE && PPC_BOOK3S_64 |
---|
411 | 423 | default y |
---|
412 | 424 | |
---|
413 | 425 | config MATH_EMULATION |
---|
414 | 426 | bool "Math emulation" |
---|
415 | 427 | depends on 4xx || PPC_8xx || PPC_MPC832x || BOOKE |
---|
416 | | - ---help--- |
---|
| 428 | + help |
---|
417 | 429 | Some PowerPC chips designed for embedded applications do not have |
---|
418 | 430 | a floating-point unit and therefore do not implement the |
---|
419 | 431 | floating-point instructions in the PowerPC instruction set. If you |
---|
.. | .. |
---|
432 | 444 | |
---|
433 | 445 | config MATH_EMULATION_FULL |
---|
434 | 446 | bool "Emulate all the floating point instructions" |
---|
435 | | - ---help--- |
---|
| 447 | + help |
---|
436 | 448 | Select this option will enable the kernel to support to emulate |
---|
437 | 449 | all the floating point instructions. If your SoC doesn't have |
---|
438 | 450 | a FPU, you should select this. |
---|
439 | 451 | |
---|
440 | 452 | config MATH_EMULATION_HW_UNIMPLEMENTED |
---|
441 | 453 | bool "Just emulate the FPU unimplemented instructions" |
---|
442 | | - ---help--- |
---|
| 454 | + help |
---|
443 | 455 | Select this if you know there does have a hardware FPU on your |
---|
444 | 456 | SoC, but some floating point instructions are not implemented by that. |
---|
445 | 457 | |
---|
446 | 458 | endchoice |
---|
447 | 459 | |
---|
448 | 460 | config PPC_TRANSACTIONAL_MEM |
---|
449 | | - bool "Transactional Memory support for POWERPC" |
---|
450 | | - depends on PPC_BOOK3S_64 |
---|
451 | | - depends on SMP |
---|
452 | | - select ALTIVEC |
---|
453 | | - select VSX |
---|
454 | | - default n |
---|
455 | | - ---help--- |
---|
456 | | - Support user-mode Transactional Memory on POWERPC. |
---|
| 461 | + bool "Transactional Memory support for POWERPC" |
---|
| 462 | + depends on PPC_BOOK3S_64 |
---|
| 463 | + depends on SMP |
---|
| 464 | + select ALTIVEC |
---|
| 465 | + select VSX |
---|
| 466 | + help |
---|
| 467 | + Support user-mode Transactional Memory on POWERPC. |
---|
| 468 | + |
---|
| 469 | +config PPC_UV |
---|
| 470 | + bool "Ultravisor support" |
---|
| 471 | + depends on KVM_BOOK3S_HV_POSSIBLE |
---|
| 472 | + depends on DEVICE_PRIVATE |
---|
| 473 | + default n |
---|
| 474 | + help |
---|
| 475 | + This option paravirtualizes the kernel to run in POWER platforms that |
---|
| 476 | + supports the Protected Execution Facility (PEF). On such platforms, |
---|
| 477 | + the ultravisor firmware runs at a privilege level above the |
---|
| 478 | + hypervisor. |
---|
| 479 | + |
---|
| 480 | + If unsure, say "N". |
---|
457 | 481 | |
---|
458 | 482 | config LD_HEAD_STUB_CATCH |
---|
459 | 483 | bool "Reserve 256 bytes to cope with linker stubs in HEAD text" if EXPERT |
---|
460 | 484 | depends on PPC64 |
---|
461 | | - default n |
---|
462 | 485 | help |
---|
463 | 486 | Very large kernels can cause linker branch stubs to be generated by |
---|
464 | 487 | code in head_64.S, which moves the head text sections out of their |
---|
.. | .. |
---|
467 | 490 | If unsure, say "N". |
---|
468 | 491 | |
---|
469 | 492 | config MPROFILE_KERNEL |
---|
470 | | - depends on PPC64 && CPU_LITTLE_ENDIAN |
---|
| 493 | + depends on PPC64 && CPU_LITTLE_ENDIAN && FUNCTION_TRACER |
---|
471 | 494 | def_bool $(success,$(srctree)/arch/powerpc/tools/gcc-check-mprofile-kernel.sh $(CC) -I$(srctree)/include -D__KERNEL__) |
---|
472 | 495 | |
---|
473 | 496 | config HOTPLUG_CPU |
---|
474 | 497 | bool "Support for enabling/disabling CPUs" |
---|
475 | 498 | depends on SMP && (PPC_PSERIES || \ |
---|
476 | | - PPC_PMAC || PPC_POWERNV || FSL_SOC_BOOKE) |
---|
477 | | - ---help--- |
---|
| 499 | + PPC_PMAC || PPC_POWERNV || FSL_SOC_BOOKE) |
---|
| 500 | + help |
---|
478 | 501 | Say Y here to be able to disable and re-enable individual |
---|
479 | 502 | CPUs at runtime on SMP machines. |
---|
480 | 503 | |
---|
481 | 504 | Say N if you are unsure. |
---|
| 505 | + |
---|
| 506 | +config PPC_QUEUED_SPINLOCKS |
---|
| 507 | + bool "Queued spinlocks" |
---|
| 508 | + depends on SMP |
---|
| 509 | + help |
---|
| 510 | + Say Y here to use queued spinlocks which give better scalability and |
---|
| 511 | + fairness on large SMP and NUMA systems without harming single threaded |
---|
| 512 | + performance. |
---|
| 513 | + |
---|
| 514 | + This option is currently experimental, the code is more complex and |
---|
| 515 | + less tested so it defaults to "N" for the moment. |
---|
| 516 | + |
---|
| 517 | + If unsure, say "N". |
---|
482 | 518 | |
---|
483 | 519 | config ARCH_CPU_PROBE_RELEASE |
---|
484 | 520 | def_bool y |
---|
485 | 521 | depends on HOTPLUG_CPU |
---|
486 | 522 | |
---|
487 | 523 | config ARCH_ENABLE_MEMORY_HOTPLUG |
---|
488 | | - def_bool y |
---|
489 | | - |
---|
490 | | -config ARCH_HAS_WALK_MEMORY |
---|
491 | 524 | def_bool y |
---|
492 | 525 | |
---|
493 | 526 | config ARCH_ENABLE_MEMORY_HOTREMOVE |
---|
.. | .. |
---|
522 | 555 | select KEXEC_CORE |
---|
523 | 556 | select HAVE_IMA_KEXEC |
---|
524 | 557 | select BUILD_BIN2C |
---|
| 558 | + select KEXEC_ELF |
---|
525 | 559 | depends on PPC64 |
---|
526 | 560 | depends on CRYPTO=y |
---|
527 | 561 | depends on CRYPTO_SHA256=y |
---|
.. | .. |
---|
558 | 592 | setting can still be useful to bootwrappers that need to know the |
---|
559 | 593 | load address of the kernel (eg. u-boot/mkimage). |
---|
560 | 594 | |
---|
| 595 | +config RANDOMIZE_BASE |
---|
| 596 | + bool "Randomize the address of the kernel image" |
---|
| 597 | + depends on (FSL_BOOKE && FLATMEM && PPC32) |
---|
| 598 | + depends on RELOCATABLE |
---|
| 599 | + help |
---|
| 600 | + Randomizes the virtual address at which the kernel image is |
---|
| 601 | + loaded, as a security feature that deters exploit attempts |
---|
| 602 | + relying on knowledge of the location of kernel internals. |
---|
| 603 | + |
---|
| 604 | + If unsure, say Y. |
---|
| 605 | + |
---|
561 | 606 | config RELOCATABLE_TEST |
---|
562 | 607 | bool "Test relocatable kernel" |
---|
563 | 608 | depends on (PPC64 && RELOCATABLE) |
---|
564 | | - default n |
---|
565 | 609 | help |
---|
566 | 610 | This runs the relocatable kernel at the address it was initially |
---|
567 | 611 | loaded at, which tends to be non-zero and therefore test the |
---|
.. | .. |
---|
569 | 613 | |
---|
570 | 614 | config CRASH_DUMP |
---|
571 | 615 | bool "Build a dump capture kernel" |
---|
572 | | - depends on PPC64 || 6xx || FSL_BOOKE || (44x && !SMP) |
---|
| 616 | + depends on PPC64 || PPC_BOOK3S_32 || FSL_BOOKE || (44x && !SMP) |
---|
573 | 617 | select RELOCATABLE if PPC64 || 44x || FSL_BOOKE |
---|
574 | 618 | help |
---|
575 | 619 | Build a kernel suitable for use as a dump capture kernel. |
---|
.. | .. |
---|
578 | 622 | |
---|
579 | 623 | config FA_DUMP |
---|
580 | 624 | bool "Firmware-assisted dump" |
---|
581 | | - depends on PPC64 && PPC_RTAS |
---|
| 625 | + depends on PPC64 && (PPC_RTAS || PPC_POWERNV) |
---|
582 | 626 | select CRASH_CORE |
---|
583 | 627 | select CRASH_DUMP |
---|
584 | 628 | help |
---|
.. | .. |
---|
589 | 633 | is meant to be a kdump replacement offering robustness and |
---|
590 | 634 | speed not possible without system firmware assistance. |
---|
591 | 635 | |
---|
592 | | - If unsure, say "N" |
---|
| 636 | + If unsure, say "y". Only special kernels like petitboot may |
---|
| 637 | + need to say "N" here. |
---|
| 638 | + |
---|
| 639 | +config PRESERVE_FA_DUMP |
---|
| 640 | + bool "Preserve Firmware-assisted dump" |
---|
| 641 | + depends on PPC64 && PPC_POWERNV && !FA_DUMP |
---|
| 642 | + help |
---|
| 643 | + On a kernel with FA_DUMP disabled, this option helps to preserve |
---|
| 644 | + crash data from a previously crash'ed kernel. Useful when the next |
---|
| 645 | + memory preserving kernel boot would process this crash data. |
---|
| 646 | + Petitboot kernel is the typical usecase for this option. |
---|
| 647 | + |
---|
| 648 | +config OPAL_CORE |
---|
| 649 | + bool "Export OPAL memory as /sys/firmware/opal/core" |
---|
| 650 | + depends on PPC64 && PPC_POWERNV |
---|
| 651 | + help |
---|
| 652 | + This option uses the MPIPL support in firmware to provide an |
---|
| 653 | + ELF core of OPAL memory after a crash. The ELF core is exported |
---|
| 654 | + as /sys/firmware/opal/core file which is helpful in debugging |
---|
| 655 | + OPAL crashes using GDB. |
---|
593 | 656 | |
---|
594 | 657 | config IRQ_ALL_CPUS |
---|
595 | 658 | bool "Distribute interrupts on all CPUs by default" |
---|
.. | .. |
---|
650 | 713 | def_bool y |
---|
651 | 714 | depends on MEMORY_HOTPLUG |
---|
652 | 715 | |
---|
653 | | -# Some NUMA nodes have memory ranges that span |
---|
654 | | -# other nodes. Even though a pfn is valid and |
---|
655 | | -# between a node's start and end pfns, it may not |
---|
656 | | -# reside on that node. See memmap_init_zone() |
---|
657 | | -# for details. |
---|
658 | | -config NODES_SPAN_OTHER_NODES |
---|
659 | | - def_bool y |
---|
660 | | - depends on NEED_MULTIPLE_NODES |
---|
661 | | - |
---|
662 | 716 | config STDBINUTILS |
---|
663 | 717 | bool "Using standard binutils settings" |
---|
664 | 718 | depends on 44x |
---|
.. | .. |
---|
706 | 760 | |
---|
707 | 761 | config PPC_64K_PAGES |
---|
708 | 762 | bool "64k page size" |
---|
709 | | - depends on !PPC_FSL_BOOK3E && (44x || PPC_BOOK3S_64 || PPC_BOOK3E_64) |
---|
| 763 | + depends on 44x || PPC_BOOK3S_64 |
---|
710 | 764 | select HAVE_ARCH_SOFT_DIRTY if PPC_BOOK3S_64 |
---|
711 | 765 | |
---|
712 | 766 | config PPC_256K_PAGES |
---|
.. | .. |
---|
724 | 778 | |
---|
725 | 779 | endchoice |
---|
726 | 780 | |
---|
| 781 | +config PPC_PAGE_SHIFT |
---|
| 782 | + int |
---|
| 783 | + default 18 if PPC_256K_PAGES |
---|
| 784 | + default 16 if PPC_64K_PAGES |
---|
| 785 | + default 14 if PPC_16K_PAGES |
---|
| 786 | + default 12 |
---|
| 787 | + |
---|
727 | 788 | config THREAD_SHIFT |
---|
728 | 789 | int "Thread shift" if EXPERT |
---|
729 | 790 | range 13 15 |
---|
.. | .. |
---|
733 | 794 | help |
---|
734 | 795 | Used to define the stack size. The default is almost always what you |
---|
735 | 796 | want. Only change this if you know what you are doing. |
---|
| 797 | + |
---|
| 798 | +config DATA_SHIFT_BOOL |
---|
| 799 | + bool "Set custom data alignment" |
---|
| 800 | + depends on ADVANCED_OPTIONS |
---|
| 801 | + depends on STRICT_KERNEL_RWX || DEBUG_PAGEALLOC |
---|
| 802 | + depends on PPC_BOOK3S_32 || (PPC_8xx && !PIN_TLB_DATA && \ |
---|
| 803 | + (!PIN_TLB_TEXT || !STRICT_KERNEL_RWX)) |
---|
| 804 | + help |
---|
| 805 | + This option allows you to set the kernel data alignment. When |
---|
| 806 | + RAM is mapped by blocks, the alignment needs to fit the size and |
---|
| 807 | + number of possible blocks. The default should be OK for most configs. |
---|
| 808 | + |
---|
| 809 | + Say N here unless you know what you are doing. |
---|
| 810 | + |
---|
| 811 | +config DATA_SHIFT |
---|
| 812 | + int "Data shift" if DATA_SHIFT_BOOL |
---|
| 813 | + default 24 if STRICT_KERNEL_RWX && PPC64 |
---|
| 814 | + range 17 28 if (STRICT_KERNEL_RWX || DEBUG_PAGEALLOC) && PPC_BOOK3S_32 |
---|
| 815 | + range 19 23 if (STRICT_KERNEL_RWX || DEBUG_PAGEALLOC) && PPC_8xx |
---|
| 816 | + default 22 if STRICT_KERNEL_RWX && PPC_BOOK3S_32 |
---|
| 817 | + default 18 if DEBUG_PAGEALLOC && PPC_BOOK3S_32 |
---|
| 818 | + default 23 if STRICT_KERNEL_RWX && PPC_8xx |
---|
| 819 | + default 23 if DEBUG_PAGEALLOC && PPC_8xx && PIN_TLB_DATA |
---|
| 820 | + default 19 if DEBUG_PAGEALLOC && PPC_8xx |
---|
| 821 | + default PPC_PAGE_SHIFT |
---|
| 822 | + help |
---|
| 823 | + On Book3S 32 (603+), DBATs are used to map kernel text and rodata RO. |
---|
| 824 | + Smaller is the alignment, greater is the number of necessary DBATs. |
---|
| 825 | + |
---|
| 826 | + On 8xx, large pages (512kb or 8M) are used to map kernel linear |
---|
| 827 | + memory. Aligning to 8M reduces TLB misses as only 8M pages are used |
---|
| 828 | + in that case. If PIN_TLB is selected, it must be aligned to 8M as |
---|
| 829 | + 8M pages will be pinned. |
---|
736 | 830 | |
---|
737 | 831 | config FORCE_MAX_ZONEORDER |
---|
738 | 832 | int "Maximum zone order" |
---|
.. | .. |
---|
764 | 858 | this in mind when choosing a value for this option. |
---|
765 | 859 | |
---|
766 | 860 | config PPC_SUBPAGE_PROT |
---|
767 | | - bool "Support setting protections for 4k subpages" |
---|
| 861 | + bool "Support setting protections for 4k subpages (subpage_prot syscall)" |
---|
| 862 | + default n |
---|
768 | 863 | depends on PPC_BOOK3S_64 && PPC_64K_PAGES |
---|
769 | 864 | help |
---|
770 | | - This option adds support for a system call to allow user programs |
---|
| 865 | + This option adds support for system call to allow user programs |
---|
771 | 866 | to set access permissions (read/write, readonly, or no access) |
---|
772 | 867 | on the 4k subpages of each 64k page. |
---|
773 | 868 | |
---|
| 869 | + If unsure, say N here. |
---|
| 870 | + |
---|
| 871 | +config PPC_PROT_SAO_LPAR |
---|
| 872 | + bool "Support PROT_SAO mappings in LPARs" |
---|
| 873 | + depends on PPC_BOOK3S_64 |
---|
| 874 | + help |
---|
| 875 | + This option adds support for PROT_SAO mappings from userspace |
---|
| 876 | + inside LPARs on supported CPUs. |
---|
| 877 | + |
---|
| 878 | + This may cause issues when performing guest migration from |
---|
| 879 | + a CPU that supports SAO to one that does not. |
---|
| 880 | + |
---|
| 881 | + If unsure, say N here. |
---|
| 882 | + |
---|
774 | 883 | config PPC_COPRO_BASE |
---|
775 | 884 | bool |
---|
776 | | - default n |
---|
777 | 885 | |
---|
778 | 886 | config SCHED_SMT |
---|
779 | 887 | bool "SMT (Hyperthreading) scheduler support" |
---|
.. | .. |
---|
787 | 895 | bool "PowerPC denormalisation exception handling" |
---|
788 | 896 | depends on PPC_BOOK3S_64 |
---|
789 | 897 | default "y" if PPC_POWERNV |
---|
790 | | - ---help--- |
---|
| 898 | + help |
---|
791 | 899 | Add support for handling denormalisation of single precision |
---|
792 | 900 | values. Useful for bare metal only. If unsure say Y here. |
---|
793 | 901 | |
---|
794 | | -config CMDLINE_BOOL |
---|
795 | | - bool "Default bootloader kernel arguments" |
---|
796 | | - |
---|
797 | 902 | config CMDLINE |
---|
798 | 903 | string "Initial kernel command string" |
---|
799 | | - depends on CMDLINE_BOOL |
---|
800 | | - default "console=ttyS0,9600 console=tty0 root=/dev/sda2" |
---|
| 904 | + default "" |
---|
801 | 905 | help |
---|
802 | 906 | On some platforms, there is currently no way for the boot loader to |
---|
803 | 907 | pass arguments to the kernel. For these platforms, you can supply |
---|
804 | 908 | some command-line options at build time by entering them here. In |
---|
805 | 909 | most cases you will need to specify the root device here. |
---|
806 | 910 | |
---|
| 911 | +choice |
---|
| 912 | + prompt "Kernel command line type" if CMDLINE != "" |
---|
| 913 | + default CMDLINE_FROM_BOOTLOADER |
---|
| 914 | + |
---|
| 915 | +config CMDLINE_FROM_BOOTLOADER |
---|
| 916 | + bool "Use bootloader kernel arguments if available" |
---|
| 917 | + help |
---|
| 918 | + Uses the command-line options passed by the boot loader. If |
---|
| 919 | + the boot loader doesn't provide any, the default kernel command |
---|
| 920 | + string provided in CMDLINE will be used. |
---|
| 921 | + |
---|
| 922 | +config CMDLINE_EXTEND |
---|
| 923 | + bool "Extend bootloader kernel arguments" |
---|
| 924 | + help |
---|
| 925 | + The command-line arguments provided by the boot loader will be |
---|
| 926 | + appended to the default kernel command string. |
---|
| 927 | + |
---|
807 | 928 | config CMDLINE_FORCE |
---|
808 | 929 | bool "Always use the default kernel command string" |
---|
809 | | - depends on CMDLINE_BOOL |
---|
810 | 930 | help |
---|
811 | 931 | Always use the default kernel command string, even if the boot |
---|
812 | 932 | loader passes other arguments to the kernel. |
---|
813 | 933 | This is useful if you cannot or don't want to change the |
---|
814 | 934 | command-line options your boot loader passes to the kernel. |
---|
| 935 | + |
---|
| 936 | +endchoice |
---|
815 | 937 | |
---|
816 | 938 | config EXTRA_TARGETS |
---|
817 | 939 | string "Additional default image types" |
---|
.. | .. |
---|
830 | 952 | def_bool y |
---|
831 | 953 | depends on ADB_PMU |
---|
832 | 954 | |
---|
833 | | -source kernel/power/Kconfig |
---|
834 | | - |
---|
835 | | -config SECCOMP |
---|
836 | | - bool "Enable seccomp to safely compute untrusted bytecode" |
---|
837 | | - depends on PROC_FS |
---|
838 | | - default y |
---|
839 | | - help |
---|
840 | | - This kernel feature is useful for number crunching applications |
---|
841 | | - that may need to compute untrusted bytecode during their |
---|
842 | | - execution. By using pipes or other transports made available to |
---|
843 | | - the process as file descriptors supporting the read/write |
---|
844 | | - syscalls, it's possible to isolate those applications in |
---|
845 | | - their own address space using seccomp. Once seccomp is |
---|
846 | | - enabled via /proc/<pid>/seccomp, it cannot be disabled |
---|
847 | | - and the task is only allowed to execute a few safe syscalls |
---|
848 | | - defined by each seccomp mode. |
---|
849 | | - |
---|
850 | | - If unsure, say Y. Only embedded should say N here. |
---|
| 955 | +source "kernel/power/Kconfig" |
---|
851 | 956 | |
---|
852 | 957 | config PPC_MEM_KEYS |
---|
853 | 958 | prompt "PowerPC Memory Protection Keys" |
---|
.. | .. |
---|
860 | 965 | page-based protections, but without requiring modification of the |
---|
861 | 966 | page tables when an application changes protection domains. |
---|
862 | 967 | |
---|
863 | | - For details, see Documentation/vm/protection-keys.rst |
---|
| 968 | + For details, see Documentation/core-api/protection-keys.rst |
---|
864 | 969 | |
---|
865 | 970 | If unsure, say y. |
---|
| 971 | + |
---|
| 972 | +config PPC_SECURE_BOOT |
---|
| 973 | + prompt "Enable secure boot support" |
---|
| 974 | + bool |
---|
| 975 | + depends on PPC_POWERNV || PPC_PSERIES |
---|
| 976 | + depends on IMA_ARCH_POLICY |
---|
| 977 | + imply IMA_SECURE_AND_OR_TRUSTED_BOOT |
---|
| 978 | + help |
---|
| 979 | + Systems with firmware secure boot enabled need to define security |
---|
| 980 | + policies to extend secure boot to the OS. This config allows a user |
---|
| 981 | + to enable OS secure boot on systems that have firmware support for |
---|
| 982 | + it. If in doubt say N. |
---|
| 983 | + |
---|
| 984 | +config PPC_SECVAR_SYSFS |
---|
| 985 | + bool "Enable sysfs interface for POWER secure variables" |
---|
| 986 | + default y |
---|
| 987 | + depends on PPC_SECURE_BOOT |
---|
| 988 | + depends on SYSFS |
---|
| 989 | + help |
---|
| 990 | + POWER secure variables are managed and controlled by firmware. |
---|
| 991 | + These variables are exposed to userspace via sysfs to enable |
---|
| 992 | + read/write operations on these variables. Say Y if you have |
---|
| 993 | + secure boot enabled and want to expose variables to userspace. |
---|
| 994 | + |
---|
| 995 | +config PPC_RTAS_FILTER |
---|
| 996 | + bool "Enable filtering of RTAS syscalls" |
---|
| 997 | + default y |
---|
| 998 | + depends on PPC_RTAS |
---|
| 999 | + help |
---|
| 1000 | + The RTAS syscall API has security issues that could be used to |
---|
| 1001 | + compromise system integrity. This option enforces restrictions on the |
---|
| 1002 | + RTAS calls and arguments passed by userspace programs to mitigate |
---|
| 1003 | + these issues. |
---|
| 1004 | + |
---|
| 1005 | + Say Y unless you know what you are doing and the filter is causing |
---|
| 1006 | + problems for you. |
---|
866 | 1007 | |
---|
867 | 1008 | endmenu |
---|
868 | 1009 | |
---|
.. | .. |
---|
883 | 1024 | have an IBM RS/6000 or pSeries machine, say Y. If you have an |
---|
884 | 1025 | embedded board, consult your board documentation. |
---|
885 | 1026 | |
---|
886 | | -config ZONE_DMA |
---|
887 | | - bool |
---|
888 | | - default y |
---|
889 | | - |
---|
890 | 1027 | config GENERIC_ISA_DMA |
---|
891 | 1028 | bool |
---|
892 | 1029 | depends on ISA_DMA_API |
---|
.. | .. |
---|
896 | 1033 | bool |
---|
897 | 1034 | depends on PCI |
---|
898 | 1035 | default y if 40x || 44x |
---|
899 | | - default n |
---|
900 | | - |
---|
901 | | -config EISA |
---|
902 | | - bool |
---|
903 | 1036 | |
---|
904 | 1037 | config SBUS |
---|
905 | 1038 | bool |
---|
.. | .. |
---|
908 | 1041 | bool |
---|
909 | 1042 | |
---|
910 | 1043 | config FSL_PCI |
---|
911 | | - bool |
---|
| 1044 | + bool |
---|
| 1045 | + select ARCH_HAS_DMA_SET_MASK |
---|
912 | 1046 | select PPC_INDIRECT_PCI |
---|
913 | 1047 | select PCI_QUIRKS |
---|
914 | 1048 | |
---|
.. | .. |
---|
945 | 1079 | help |
---|
946 | 1080 | Freescale General-purpose Timers support |
---|
947 | 1081 | |
---|
948 | | -# Yes MCA RS/6000s exist but Linux-PPC does not currently support any |
---|
949 | | -config MCA |
---|
950 | | - bool |
---|
951 | | - |
---|
952 | | -# Platforms that what PCI turned unconditionally just do select PCI |
---|
953 | | -# in their config node. Platforms that want to choose at config |
---|
954 | | -# time should select PPC_PCI_CHOICE |
---|
955 | | -config PPC_PCI_CHOICE |
---|
956 | | - bool |
---|
957 | | - |
---|
958 | | -config PCI |
---|
959 | | - bool "PCI support" if PPC_PCI_CHOICE |
---|
960 | | - default y if !40x && !CPM2 && !PPC_8xx && !PPC_83xx \ |
---|
961 | | - && !PPC_85xx && !PPC_86xx && !GAMECUBE_COMMON |
---|
962 | | - default PCI_QSPAN if PPC_8xx |
---|
963 | | - select GENERIC_PCI_IOMAP |
---|
964 | | - help |
---|
965 | | - Find out whether your system includes a PCI bus. PCI is the name of |
---|
966 | | - a bus system, i.e. the way the CPU talks to the other stuff inside |
---|
967 | | - your box. If you say Y here, the kernel will include drivers and |
---|
968 | | - infrastructure code to support PCI bus devices. |
---|
969 | | - |
---|
970 | | -config PCI_DOMAINS |
---|
971 | | - def_bool PCI |
---|
972 | | - |
---|
973 | | -config PCI_SYSCALL |
---|
974 | | - def_bool PCI |
---|
975 | | - |
---|
976 | | -config PCI_QSPAN |
---|
977 | | - bool "QSpan PCI" |
---|
978 | | - depends on PPC_8xx |
---|
979 | | - select PPC_I8259 |
---|
980 | | - help |
---|
981 | | - Say Y here if you have a system based on a Motorola 8xx-series |
---|
982 | | - embedded processor with a QSPAN PCI interface, otherwise say N. |
---|
983 | | - |
---|
984 | 1082 | config PCI_8260 |
---|
985 | 1083 | bool |
---|
986 | 1084 | depends on PCI && 8260 |
---|
987 | 1085 | select PPC_INDIRECT_PCI |
---|
988 | 1086 | default y |
---|
989 | 1087 | |
---|
990 | | -source "drivers/pci/Kconfig" |
---|
991 | | - |
---|
992 | | -source "drivers/pcmcia/Kconfig" |
---|
993 | | - |
---|
994 | | -config HAS_RAPIDIO |
---|
995 | | - bool |
---|
996 | | - default n |
---|
997 | | - |
---|
998 | | -config RAPIDIO |
---|
999 | | - tristate "RapidIO support" |
---|
1000 | | - depends on HAS_RAPIDIO || PCI |
---|
1001 | | - help |
---|
1002 | | - If you say Y here, the kernel will include drivers and |
---|
1003 | | - infrastructure code to support RapidIO interconnect devices. |
---|
1004 | | - |
---|
1005 | 1088 | config FSL_RIO |
---|
1006 | 1089 | bool "Freescale Embedded SRIO Controller support" |
---|
1007 | | - depends on RAPIDIO = y && HAS_RAPIDIO |
---|
| 1090 | + depends on RAPIDIO = y && HAVE_RAPIDIO |
---|
1008 | 1091 | default "n" |
---|
1009 | | - ---help--- |
---|
| 1092 | + help |
---|
1010 | 1093 | Include support for RapidIO controller on Freescale embedded |
---|
1011 | 1094 | processors (MPC8548, MPC8641, etc). |
---|
1012 | | - |
---|
1013 | | -source "drivers/rapidio/Kconfig" |
---|
1014 | | - |
---|
1015 | | -config PPC_RTAS_FILTER |
---|
1016 | | - bool "Enable filtering of RTAS syscalls" |
---|
1017 | | - default y |
---|
1018 | | - depends on PPC_RTAS |
---|
1019 | | - help |
---|
1020 | | - The RTAS syscall API has security issues that could be used to |
---|
1021 | | - compromise system integrity. This option enforces restrictions on the |
---|
1022 | | - RTAS calls and arguments passed by userspace programs to mitigate |
---|
1023 | | - these issues. |
---|
1024 | | - |
---|
1025 | | - Say Y unless you know what you are doing and the filter is causing |
---|
1026 | | - problems for you. |
---|
1027 | 1095 | |
---|
1028 | 1096 | endmenu |
---|
1029 | 1097 | |
---|
1030 | 1098 | config NONSTATIC_KERNEL |
---|
1031 | 1099 | bool |
---|
1032 | | - default n |
---|
1033 | 1100 | |
---|
1034 | 1101 | menu "Advanced setup" |
---|
1035 | 1102 | depends on PPC32 |
---|
.. | .. |
---|
1086 | 1153 | select NONSTATIC_KERNEL |
---|
1087 | 1154 | help |
---|
1088 | 1155 | This option enables the kernel to be loaded at any page aligned |
---|
1089 | | - physical address. The kernel creates a mapping from KERNELBASE to |
---|
| 1156 | + physical address. The kernel creates a mapping from KERNELBASE to |
---|
1090 | 1157 | the address where the kernel is loaded. The page size here implies |
---|
1091 | 1158 | the TLB page size of the mapping for kernel on the particular platform. |
---|
1092 | 1159 | Please refer to the init code for finding the TLB page size. |
---|
1093 | 1160 | |
---|
1094 | 1161 | DYNAMIC_MEMSTART is an easy way of implementing pseudo-RELOCATABLE |
---|
1095 | 1162 | kernel image, where the only restriction is the page aligned kernel |
---|
1096 | | - load address. When this option is enabled, the compile time physical |
---|
| 1163 | + load address. When this option is enabled, the compile time physical |
---|
1097 | 1164 | address CONFIG_PHYSICAL_START is ignored. |
---|
1098 | 1165 | |
---|
1099 | 1166 | This option is overridden by CONFIG_RELOCATABLE |
---|
.. | .. |
---|
1139 | 1206 | |
---|
1140 | 1207 | config PHYSICAL_START |
---|
1141 | 1208 | hex "Physical address where the kernel is loaded" if PHYSICAL_START_BOOL |
---|
1142 | | - default "0x02000000" if PPC_STD_MMU && CRASH_DUMP && !NONSTATIC_KERNEL |
---|
| 1209 | + default "0x02000000" if PPC_BOOK3S && CRASH_DUMP && !NONSTATIC_KERNEL |
---|
1143 | 1210 | default "0x00000000" |
---|
1144 | 1211 | |
---|
1145 | 1212 | config PHYSICAL_ALIGN |
---|
.. | .. |
---|
1163 | 1230 | config TASK_SIZE |
---|
1164 | 1231 | hex "Size of user task space" if TASK_SIZE_BOOL |
---|
1165 | 1232 | default "0x80000000" if PPC_8xx |
---|
| 1233 | + default "0xb0000000" if PPC_BOOK3S_32 && STRICT_KERNEL_RWX |
---|
1166 | 1234 | default "0xc0000000" |
---|
1167 | | - |
---|
1168 | | -config CONSISTENT_SIZE_BOOL |
---|
1169 | | - bool "Set custom consistent memory pool size" |
---|
1170 | | - depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE |
---|
1171 | | - help |
---|
1172 | | - This option allows you to set the size of the |
---|
1173 | | - consistent memory pool. This pool of virtual memory |
---|
1174 | | - is used to make consistent memory allocations. |
---|
1175 | | - |
---|
1176 | | -config CONSISTENT_SIZE |
---|
1177 | | - hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL |
---|
1178 | | - default "0x00200000" if NOT_COHERENT_CACHE |
---|
1179 | | - |
---|
1180 | | -config PIN_TLB |
---|
1181 | | - bool "Pinned Kernel TLBs (860 ONLY)" |
---|
1182 | | - depends on ADVANCED_OPTIONS && PPC_8xx && \ |
---|
1183 | | - !DEBUG_PAGEALLOC && !STRICT_KERNEL_RWX |
---|
1184 | | - |
---|
1185 | | -config PIN_TLB_DATA |
---|
1186 | | - bool "Pinned TLB for DATA" |
---|
1187 | | - depends on PIN_TLB |
---|
1188 | | - default y |
---|
1189 | | - |
---|
1190 | | -config PIN_TLB_IMMR |
---|
1191 | | - bool "Pinned TLB for IMMR" |
---|
1192 | | - depends on PIN_TLB |
---|
1193 | | - default y |
---|
1194 | | - |
---|
1195 | | -config PIN_TLB_TEXT |
---|
1196 | | - bool "Pinned TLB for TEXT" |
---|
1197 | | - depends on PIN_TLB |
---|
1198 | | - default y |
---|
1199 | 1235 | endmenu |
---|
1200 | 1236 | |
---|
1201 | 1237 | if PPC64 |
---|