|
@@ -127,7 +127,8 @@ config PPC
|
|
select IRQ_FORCED_THREADING
|
|
select IRQ_FORCED_THREADING
|
|
select HAVE_RCU_TABLE_FREE if SMP
|
|
select HAVE_RCU_TABLE_FREE if SMP
|
|
select HAVE_SYSCALL_TRACEPOINTS
|
|
select HAVE_SYSCALL_TRACEPOINTS
|
|
- select HAVE_CBPF_JIT if CPU_BIG_ENDIAN
|
|
|
|
|
|
+ select HAVE_CBPF_JIT if !PPC64
|
|
|
|
+ select HAVE_EBPF_JIT if PPC64
|
|
select HAVE_ARCH_JUMP_LABEL
|
|
select HAVE_ARCH_JUMP_LABEL
|
|
select ARCH_HAVE_NMI_SAFE_CMPXCHG
|
|
select ARCH_HAVE_NMI_SAFE_CMPXCHG
|
|
select ARCH_HAS_GCOV_PROFILE_ALL
|
|
select ARCH_HAS_GCOV_PROFILE_ALL
|
|
@@ -163,6 +164,8 @@ config PPC
|
|
select ARCH_HAS_UBSAN_SANITIZE_ALL
|
|
select ARCH_HAS_UBSAN_SANITIZE_ALL
|
|
select ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT
|
|
select ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT
|
|
select HAVE_LIVEPATCH if HAVE_DYNAMIC_FTRACE_WITH_REGS
|
|
select HAVE_LIVEPATCH if HAVE_DYNAMIC_FTRACE_WITH_REGS
|
|
|
|
+ select GENERIC_CPU_AUTOPROBE
|
|
|
|
+ select HAVE_VIRT_CPU_ACCOUNTING
|
|
|
|
|
|
config GENERIC_CSUM
|
|
config GENERIC_CSUM
|
|
def_bool CPU_LITTLE_ENDIAN
|
|
def_bool CPU_LITTLE_ENDIAN
|
|
@@ -456,6 +459,29 @@ config KEXEC
|
|
interface is strongly in flux, so no good recommendation can be
|
|
interface is strongly in flux, so no good recommendation can be
|
|
made.
|
|
made.
|
|
|
|
|
|
|
|
+config RELOCATABLE
|
|
|
|
+ bool "Build a relocatable kernel"
|
|
|
|
+ depends on (PPC64 && !COMPILE_TEST) || (FLATMEM && (44x || FSL_BOOKE))
|
|
|
|
+ select NONSTATIC_KERNEL
|
|
|
|
+ help
|
|
|
|
+ This builds a kernel image that is capable of running at the
|
|
|
|
+ location the kernel is loaded at. For ppc32, there is no any
|
|
|
|
+ alignment restrictions, and this feature is a superset of
|
|
|
|
+ DYNAMIC_MEMSTART and hence overrides it. For ppc64, we should use
|
|
|
|
+ 16k-aligned base address. The kernel is linked as a
|
|
|
|
+ position-independent executable (PIE) and contains dynamic relocations
|
|
|
|
+ which are processed early in the bootup process.
|
|
|
|
+
|
|
|
|
+ One use is for the kexec on panic case where the recovery kernel
|
|
|
|
+ must live at a different physical address than the primary
|
|
|
|
+ kernel.
|
|
|
|
+
|
|
|
|
+ Note: If CONFIG_RELOCATABLE=y, then the kernel runs from the address
|
|
|
|
+ it has been loaded at and the compile time physical addresses
|
|
|
|
+ CONFIG_PHYSICAL_START is ignored. However CONFIG_PHYSICAL_START
|
|
|
|
+ setting can still be useful to bootwrappers that need to know the
|
|
|
|
+ load address of the kernel (eg. u-boot/mkimage).
|
|
|
|
+
|
|
config CRASH_DUMP
|
|
config CRASH_DUMP
|
|
bool "Build a kdump crash kernel"
|
|
bool "Build a kdump crash kernel"
|
|
depends on PPC64 || 6xx || FSL_BOOKE || (44x && !SMP)
|
|
depends on PPC64 || 6xx || FSL_BOOKE || (44x && !SMP)
|
|
@@ -948,29 +974,6 @@ config DYNAMIC_MEMSTART
|
|
|
|
|
|
This option is overridden by CONFIG_RELOCATABLE
|
|
This option is overridden by CONFIG_RELOCATABLE
|
|
|
|
|
|
-config RELOCATABLE
|
|
|
|
- bool "Build a relocatable kernel"
|
|
|
|
- depends on ADVANCED_OPTIONS && FLATMEM && (44x || FSL_BOOKE)
|
|
|
|
- select NONSTATIC_KERNEL
|
|
|
|
- help
|
|
|
|
- This builds a kernel image that is capable of running at the
|
|
|
|
- location the kernel is loaded at, without any alignment restrictions.
|
|
|
|
- This feature is a superset of DYNAMIC_MEMSTART and hence overrides it.
|
|
|
|
-
|
|
|
|
- One use is for the kexec on panic case where the recovery kernel
|
|
|
|
- must live at a different physical address than the primary
|
|
|
|
- kernel.
|
|
|
|
-
|
|
|
|
- Note: If CONFIG_RELOCATABLE=y, then the kernel runs from the address
|
|
|
|
- it has been loaded at and the compile time physical addresses
|
|
|
|
- CONFIG_PHYSICAL_START is ignored. However CONFIG_PHYSICAL_START
|
|
|
|
- setting can still be useful to bootwrappers that need to know the
|
|
|
|
- load address of the kernel (eg. u-boot/mkimage).
|
|
|
|
-
|
|
|
|
-config RELOCATABLE_PPC32
|
|
|
|
- def_bool y
|
|
|
|
- depends on PPC32 && RELOCATABLE
|
|
|
|
-
|
|
|
|
config PAGE_OFFSET_BOOL
|
|
config PAGE_OFFSET_BOOL
|
|
bool "Set custom page offset address"
|
|
bool "Set custom page offset address"
|
|
depends on ADVANCED_OPTIONS
|
|
depends on ADVANCED_OPTIONS
|
|
@@ -1053,24 +1056,14 @@ config CONSISTENT_SIZE
|
|
config PIN_TLB
|
|
config PIN_TLB
|
|
bool "Pinned Kernel TLBs (860 ONLY)"
|
|
bool "Pinned Kernel TLBs (860 ONLY)"
|
|
depends on ADVANCED_OPTIONS && 8xx
|
|
depends on ADVANCED_OPTIONS && 8xx
|
|
|
|
+
|
|
|
|
+config PIN_TLB_IMMR
|
|
|
|
+ bool "Pinned TLB for IMMR"
|
|
|
|
+ depends on PIN_TLB
|
|
|
|
+ default y
|
|
endmenu
|
|
endmenu
|
|
|
|
|
|
if PPC64
|
|
if PPC64
|
|
-config RELOCATABLE
|
|
|
|
- bool "Build a relocatable kernel"
|
|
|
|
- depends on !COMPILE_TEST
|
|
|
|
- select NONSTATIC_KERNEL
|
|
|
|
- help
|
|
|
|
- This builds a kernel image that is capable of running anywhere
|
|
|
|
- in the RMA (real memory area) at any 16k-aligned base address.
|
|
|
|
- The kernel is linked as a position-independent executable (PIE)
|
|
|
|
- and contains dynamic relocations which are processed early
|
|
|
|
- in the bootup process.
|
|
|
|
-
|
|
|
|
- One use is for the kexec on panic case where the recovery kernel
|
|
|
|
- must live at a different physical address than the primary
|
|
|
|
- kernel.
|
|
|
|
-
|
|
|
|
# This value must have zeroes in the bottom 60 bits otherwise lots will break
|
|
# This value must have zeroes in the bottom 60 bits otherwise lots will break
|
|
config PAGE_OFFSET
|
|
config PAGE_OFFSET
|
|
hex
|
|
hex
|