mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-03 19:24:02 +08:00
Merge branch 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 build updates from Ingo Molnar: "The main changes in this cycle were: - Makefile improvements (Paul Bolle) - KConfig cleanups to better separate 32-bit only, 64-bit only and generic feature enablement sections (Ingo Molnar)" * 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/build: Remove three unneeded genhdr-y entries x86/build: Don't use $(LINUXINCLUDE) twice x86/kconfig: Sort the 'config X86' selects alphabetically x86/kconfig: Clean up 32-bit compat options x86/kconfig: Clean up IA32_EMULATION select x86/kconfig, x86/pkeys: Move pkeys selects to X86_INTEL_MEMORY_PROTECTION_KEYS x86/kconfig: Move 64-bit only arch Kconfig selects to 'config X86_64' x86/kconfig: Move 32-bit only arch Kconfig selects to 'config X86_32'
This commit is contained in:
commit
5fc0363d43
@ -9,28 +9,50 @@ config 64BIT
|
|||||||
config X86_32
|
config X86_32
|
||||||
def_bool y
|
def_bool y
|
||||||
depends on !64BIT
|
depends on !64BIT
|
||||||
|
# Options that are inherently 32-bit kernel only:
|
||||||
|
select ARCH_WANT_IPC_PARSE_VERSION
|
||||||
|
select CLKSRC_I8253
|
||||||
|
select CLONE_BACKWARDS
|
||||||
|
select HAVE_AOUT
|
||||||
|
select HAVE_GENERIC_DMA_COHERENT
|
||||||
|
select MODULES_USE_ELF_REL
|
||||||
|
select OLD_SIGACTION
|
||||||
|
|
||||||
config X86_64
|
config X86_64
|
||||||
def_bool y
|
def_bool y
|
||||||
depends on 64BIT
|
depends on 64BIT
|
||||||
|
# Options that are inherently 64-bit kernel only:
|
||||||
|
select ARCH_HAS_GIGANTIC_PAGE
|
||||||
|
select ARCH_SUPPORTS_INT128
|
||||||
|
select ARCH_USE_CMPXCHG_LOCKREF
|
||||||
|
select HAVE_ARCH_SOFT_DIRTY
|
||||||
|
select MODULES_USE_ELF_RELA
|
||||||
|
select X86_DEV_DMA_OPS
|
||||||
|
|
||||||
### Arch settings
|
#
|
||||||
|
# Arch settings
|
||||||
|
#
|
||||||
|
# ( Note that options that are marked 'if X86_64' could in principle be
|
||||||
|
# ported to 32-bit as well. )
|
||||||
|
#
|
||||||
config X86
|
config X86
|
||||||
def_bool y
|
def_bool y
|
||||||
|
#
|
||||||
|
# Note: keep this list sorted alphabetically
|
||||||
|
#
|
||||||
select ACPI_LEGACY_TABLES_LOOKUP if ACPI
|
select ACPI_LEGACY_TABLES_LOOKUP if ACPI
|
||||||
select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI
|
select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI
|
||||||
select ANON_INODES
|
select ANON_INODES
|
||||||
select ARCH_CLOCKSOURCE_DATA
|
select ARCH_CLOCKSOURCE_DATA
|
||||||
select ARCH_DISCARD_MEMBLOCK
|
select ARCH_DISCARD_MEMBLOCK
|
||||||
select ARCH_HAS_ACPI_TABLE_UPGRADE if ACPI
|
select ARCH_HAS_ACPI_TABLE_UPGRADE if ACPI
|
||||||
select ARCH_HAS_DEVMEM_IS_ALLOWED
|
select ARCH_HAS_DEVMEM_IS_ALLOWED
|
||||||
select ARCH_HAS_ELF_RANDOMIZE
|
select ARCH_HAS_ELF_RANDOMIZE
|
||||||
select ARCH_HAS_FAST_MULTIPLIER
|
select ARCH_HAS_FAST_MULTIPLIER
|
||||||
select ARCH_HAS_GCOV_PROFILE_ALL
|
select ARCH_HAS_GCOV_PROFILE_ALL
|
||||||
select ARCH_HAS_GIGANTIC_PAGE if X86_64
|
|
||||||
select ARCH_HAS_KCOV if X86_64
|
select ARCH_HAS_KCOV if X86_64
|
||||||
select ARCH_HAS_PMEM_API if X86_64
|
|
||||||
select ARCH_HAS_MMIO_FLUSH
|
select ARCH_HAS_MMIO_FLUSH
|
||||||
|
select ARCH_HAS_PMEM_API if X86_64
|
||||||
select ARCH_HAS_SG_CHAIN
|
select ARCH_HAS_SG_CHAIN
|
||||||
select ARCH_HAS_UBSAN_SANITIZE_ALL
|
select ARCH_HAS_UBSAN_SANITIZE_ALL
|
||||||
select ARCH_HAVE_NMI_SAFE_CMPXCHG
|
select ARCH_HAVE_NMI_SAFE_CMPXCHG
|
||||||
@ -39,23 +61,17 @@ config X86
|
|||||||
select ARCH_MIGHT_HAVE_PC_SERIO
|
select ARCH_MIGHT_HAVE_PC_SERIO
|
||||||
select ARCH_SUPPORTS_ATOMIC_RMW
|
select ARCH_SUPPORTS_ATOMIC_RMW
|
||||||
select ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT
|
select ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT
|
||||||
select ARCH_SUPPORTS_INT128 if X86_64
|
|
||||||
select ARCH_SUPPORTS_NUMA_BALANCING if X86_64
|
select ARCH_SUPPORTS_NUMA_BALANCING if X86_64
|
||||||
select ARCH_USE_BUILTIN_BSWAP
|
select ARCH_USE_BUILTIN_BSWAP
|
||||||
select ARCH_USE_CMPXCHG_LOCKREF if X86_64
|
|
||||||
select ARCH_USE_QUEUED_RWLOCKS
|
select ARCH_USE_QUEUED_RWLOCKS
|
||||||
select ARCH_USE_QUEUED_SPINLOCKS
|
select ARCH_USE_QUEUED_SPINLOCKS
|
||||||
select ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH if SMP
|
select ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH if SMP
|
||||||
select ARCH_WANTS_DYNAMIC_TASK_STRUCT
|
|
||||||
select ARCH_WANT_FRAME_POINTERS
|
select ARCH_WANT_FRAME_POINTERS
|
||||||
select ARCH_WANT_IPC_PARSE_VERSION if X86_32
|
select ARCH_WANTS_DYNAMIC_TASK_STRUCT
|
||||||
select BUILDTIME_EXTABLE_SORT
|
select BUILDTIME_EXTABLE_SORT
|
||||||
select CLKEVT_I8253
|
select CLKEVT_I8253
|
||||||
select CLKSRC_I8253 if X86_32
|
|
||||||
select CLOCKSOURCE_VALIDATE_LAST_CYCLE
|
select CLOCKSOURCE_VALIDATE_LAST_CYCLE
|
||||||
select CLOCKSOURCE_WATCHDOG
|
select CLOCKSOURCE_WATCHDOG
|
||||||
select CLONE_BACKWARDS if X86_32
|
|
||||||
select COMPAT_OLD_SIGACTION if IA32_EMULATION
|
|
||||||
select DCACHE_WORD_ACCESS
|
select DCACHE_WORD_ACCESS
|
||||||
select EDAC_ATOMIC_SCRUB
|
select EDAC_ATOMIC_SCRUB
|
||||||
select EDAC_SUPPORT
|
select EDAC_SUPPORT
|
||||||
@ -77,7 +93,6 @@ config X86
|
|||||||
select HAVE_ACPI_APEI if ACPI
|
select HAVE_ACPI_APEI if ACPI
|
||||||
select HAVE_ACPI_APEI_NMI if ACPI
|
select HAVE_ACPI_APEI_NMI if ACPI
|
||||||
select HAVE_ALIGNED_STRUCT_PAGE if SLUB
|
select HAVE_ALIGNED_STRUCT_PAGE if SLUB
|
||||||
select HAVE_AOUT if X86_32
|
|
||||||
select HAVE_ARCH_AUDITSYSCALL
|
select HAVE_ARCH_AUDITSYSCALL
|
||||||
select HAVE_ARCH_HARDENED_USERCOPY
|
select HAVE_ARCH_HARDENED_USERCOPY
|
||||||
select HAVE_ARCH_HUGE_VMAP if X86_64 || X86_PAE
|
select HAVE_ARCH_HUGE_VMAP if X86_64 || X86_PAE
|
||||||
@ -88,12 +103,10 @@ config X86
|
|||||||
select HAVE_ARCH_MMAP_RND_BITS if MMU
|
select HAVE_ARCH_MMAP_RND_BITS if MMU
|
||||||
select HAVE_ARCH_MMAP_RND_COMPAT_BITS if MMU && COMPAT
|
select HAVE_ARCH_MMAP_RND_COMPAT_BITS if MMU && COMPAT
|
||||||
select HAVE_ARCH_SECCOMP_FILTER
|
select HAVE_ARCH_SECCOMP_FILTER
|
||||||
select HAVE_ARCH_SOFT_DIRTY if X86_64
|
|
||||||
select HAVE_ARCH_TRACEHOOK
|
select HAVE_ARCH_TRACEHOOK
|
||||||
select HAVE_ARCH_TRANSPARENT_HUGEPAGE
|
select HAVE_ARCH_TRANSPARENT_HUGEPAGE
|
||||||
select HAVE_ARCH_WITHIN_STACK_FRAMES
|
|
||||||
select HAVE_EBPF_JIT if X86_64
|
|
||||||
select HAVE_ARCH_VMAP_STACK if X86_64
|
select HAVE_ARCH_VMAP_STACK if X86_64
|
||||||
|
select HAVE_ARCH_WITHIN_STACK_FRAMES
|
||||||
select HAVE_CC_STACKPROTECTOR
|
select HAVE_CC_STACKPROTECTOR
|
||||||
select HAVE_CMPXCHG_DOUBLE
|
select HAVE_CMPXCHG_DOUBLE
|
||||||
select HAVE_CMPXCHG_LOCAL
|
select HAVE_CMPXCHG_LOCAL
|
||||||
@ -106,6 +119,7 @@ config X86
|
|||||||
select HAVE_DMA_CONTIGUOUS
|
select HAVE_DMA_CONTIGUOUS
|
||||||
select HAVE_DYNAMIC_FTRACE
|
select HAVE_DYNAMIC_FTRACE
|
||||||
select HAVE_DYNAMIC_FTRACE_WITH_REGS
|
select HAVE_DYNAMIC_FTRACE_WITH_REGS
|
||||||
|
select HAVE_EBPF_JIT if X86_64
|
||||||
select HAVE_EFFICIENT_UNALIGNED_ACCESS
|
select HAVE_EFFICIENT_UNALIGNED_ACCESS
|
||||||
select HAVE_EXIT_THREAD
|
select HAVE_EXIT_THREAD
|
||||||
select HAVE_FENTRY if X86_64
|
select HAVE_FENTRY if X86_64
|
||||||
@ -113,7 +127,6 @@ config X86
|
|||||||
select HAVE_FUNCTION_GRAPH_TRACER
|
select HAVE_FUNCTION_GRAPH_TRACER
|
||||||
select HAVE_FUNCTION_TRACER
|
select HAVE_FUNCTION_TRACER
|
||||||
select HAVE_GCC_PLUGINS
|
select HAVE_GCC_PLUGINS
|
||||||
select HAVE_GENERIC_DMA_COHERENT if X86_32
|
|
||||||
select HAVE_HW_BREAKPOINT
|
select HAVE_HW_BREAKPOINT
|
||||||
select HAVE_IDE
|
select HAVE_IDE
|
||||||
select HAVE_IOREMAP_PROT
|
select HAVE_IOREMAP_PROT
|
||||||
@ -142,15 +155,11 @@ config X86
|
|||||||
select HAVE_PERF_REGS
|
select HAVE_PERF_REGS
|
||||||
select HAVE_PERF_USER_STACK_DUMP
|
select HAVE_PERF_USER_STACK_DUMP
|
||||||
select HAVE_REGS_AND_STACK_ACCESS_API
|
select HAVE_REGS_AND_STACK_ACCESS_API
|
||||||
|
select HAVE_STACK_VALIDATION if X86_64
|
||||||
select HAVE_SYSCALL_TRACEPOINTS
|
select HAVE_SYSCALL_TRACEPOINTS
|
||||||
select HAVE_UID16 if X86_32 || IA32_EMULATION
|
|
||||||
select HAVE_UNSTABLE_SCHED_CLOCK
|
select HAVE_UNSTABLE_SCHED_CLOCK
|
||||||
select HAVE_USER_RETURN_NOTIFIER
|
select HAVE_USER_RETURN_NOTIFIER
|
||||||
select IRQ_FORCED_THREADING
|
select IRQ_FORCED_THREADING
|
||||||
select MODULES_USE_ELF_RELA if X86_64
|
|
||||||
select MODULES_USE_ELF_REL if X86_32
|
|
||||||
select OLD_SIGACTION if X86_32
|
|
||||||
select OLD_SIGSUSPEND3 if X86_32 || IA32_EMULATION
|
|
||||||
select PERF_EVENTS
|
select PERF_EVENTS
|
||||||
select RTC_LIB
|
select RTC_LIB
|
||||||
select RTC_MC146818_LIB
|
select RTC_MC146818_LIB
|
||||||
@ -160,11 +169,7 @@ config X86
|
|||||||
select THREAD_INFO_IN_TASK
|
select THREAD_INFO_IN_TASK
|
||||||
select USER_STACKTRACE_SUPPORT
|
select USER_STACKTRACE_SUPPORT
|
||||||
select VIRT_TO_BUS
|
select VIRT_TO_BUS
|
||||||
select X86_DEV_DMA_OPS if X86_64
|
|
||||||
select X86_FEATURE_NAMES if PROC_FS
|
select X86_FEATURE_NAMES if PROC_FS
|
||||||
select HAVE_STACK_VALIDATION if X86_64
|
|
||||||
select ARCH_USES_HIGH_VMA_FLAGS if X86_INTEL_MEMORY_PROTECTION_KEYS
|
|
||||||
select ARCH_HAS_PKEYS if X86_INTEL_MEMORY_PROTECTION_KEYS
|
|
||||||
|
|
||||||
config INSTRUCTION_DECODER
|
config INSTRUCTION_DECODER
|
||||||
def_bool y
|
def_bool y
|
||||||
@ -1758,6 +1763,8 @@ config X86_INTEL_MEMORY_PROTECTION_KEYS
|
|||||||
def_bool y
|
def_bool y
|
||||||
# Note: only available in 64-bit mode
|
# Note: only available in 64-bit mode
|
||||||
depends on CPU_SUP_INTEL && X86_64
|
depends on CPU_SUP_INTEL && X86_64
|
||||||
|
select ARCH_USES_HIGH_VMA_FLAGS
|
||||||
|
select ARCH_HAS_PKEYS
|
||||||
---help---
|
---help---
|
||||||
Memory Protection Keys provides a mechanism for enforcing
|
Memory Protection Keys provides a mechanism for enforcing
|
||||||
page-based protections, but without requiring modification of the
|
page-based protections, but without requiring modification of the
|
||||||
@ -2113,7 +2120,7 @@ config DEBUG_HOTPLUG_CPU0
|
|||||||
config COMPAT_VDSO
|
config COMPAT_VDSO
|
||||||
def_bool n
|
def_bool n
|
||||||
prompt "Disable the 32-bit vDSO (needed for glibc 2.3.3)"
|
prompt "Disable the 32-bit vDSO (needed for glibc 2.3.3)"
|
||||||
depends on X86_32 || IA32_EMULATION
|
depends on COMPAT_32
|
||||||
---help---
|
---help---
|
||||||
Certain buggy versions of glibc will crash if they are
|
Certain buggy versions of glibc will crash if they are
|
||||||
presented with a 32-bit vDSO that is not mapped at the address
|
presented with a 32-bit vDSO that is not mapped at the address
|
||||||
@ -2715,9 +2722,10 @@ source "fs/Kconfig.binfmt"
|
|||||||
config IA32_EMULATION
|
config IA32_EMULATION
|
||||||
bool "IA32 Emulation"
|
bool "IA32 Emulation"
|
||||||
depends on X86_64
|
depends on X86_64
|
||||||
|
select ARCH_WANT_OLD_COMPAT_IPC
|
||||||
select BINFMT_ELF
|
select BINFMT_ELF
|
||||||
select COMPAT_BINFMT_ELF
|
select COMPAT_BINFMT_ELF
|
||||||
select ARCH_WANT_OLD_COMPAT_IPC
|
select COMPAT_OLD_SIGACTION
|
||||||
---help---
|
---help---
|
||||||
Include code to run legacy 32-bit programs under a
|
Include code to run legacy 32-bit programs under a
|
||||||
64-bit kernel. You should likely turn this on, unless you're
|
64-bit kernel. You should likely turn this on, unless you're
|
||||||
@ -2742,6 +2750,12 @@ config X86_X32
|
|||||||
elf32_x86_64 support enabled to compile a kernel with this
|
elf32_x86_64 support enabled to compile a kernel with this
|
||||||
option set.
|
option set.
|
||||||
|
|
||||||
|
config COMPAT_32
|
||||||
|
def_bool y
|
||||||
|
depends on IA32_EMULATION || X86_32
|
||||||
|
select HAVE_UID16
|
||||||
|
select OLD_SIGSUSPEND3
|
||||||
|
|
||||||
config COMPAT
|
config COMPAT
|
||||||
def_bool y
|
def_bool y
|
||||||
depends on IA32_EMULATION || X86_X32
|
depends on IA32_EMULATION || X86_X32
|
||||||
|
@ -6,10 +6,6 @@ generated-y += unistd_32_ia32.h
|
|||||||
generated-y += unistd_64_x32.h
|
generated-y += unistd_64_x32.h
|
||||||
generated-y += xen-hypercalls.h
|
generated-y += xen-hypercalls.h
|
||||||
|
|
||||||
genhdr-y += unistd_32.h
|
|
||||||
genhdr-y += unistd_64.h
|
|
||||||
genhdr-y += unistd_x32.h
|
|
||||||
|
|
||||||
generic-y += clkdev.h
|
generic-y += clkdev.h
|
||||||
generic-y += cputime.h
|
generic-y += cputime.h
|
||||||
generic-y += dma-contiguous.h
|
generic-y += dma-contiguous.h
|
||||||
|
@ -69,7 +69,7 @@ $(obj)/realmode.relocs: $(obj)/realmode.elf FORCE
|
|||||||
|
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
KBUILD_CFLAGS := $(LINUXINCLUDE) $(REALMODE_CFLAGS) -D_SETUP -D_WAKEUP \
|
KBUILD_CFLAGS := $(REALMODE_CFLAGS) -D_SETUP -D_WAKEUP \
|
||||||
-I$(srctree)/arch/x86/boot
|
-I$(srctree)/arch/x86/boot
|
||||||
KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__
|
KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__
|
||||||
GCOV_PROFILE := n
|
GCOV_PROFILE := n
|
||||||
|
Loading…
Reference in New Issue
Block a user