Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5fc0363d authored by Linus Torvalds's avatar Linus Torvalds
Browse files

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'
parents 06cc6b96 9190e217
Loading
Loading
Loading
Loading
+41 −27
Original line number Diff line number Diff line
@@ -9,14 +9,37 @@ config 64BIT
config X86_32
	def_bool y
	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
	def_bool y
	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
	def_bool y
	#
	# Note: keep this list sorted alphabetically
	#
	select ACPI_LEGACY_TABLES_LOOKUP	if ACPI
	select ACPI_SYSTEM_POWER_STATES_SUPPORT	if ACPI
	select ANON_INODES
@@ -27,10 +50,9 @@ config X86
	select ARCH_HAS_ELF_RANDOMIZE
	select ARCH_HAS_FAST_MULTIPLIER
	select ARCH_HAS_GCOV_PROFILE_ALL
	select ARCH_HAS_GIGANTIC_PAGE		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_PMEM_API		if X86_64
	select ARCH_HAS_SG_CHAIN
	select ARCH_HAS_UBSAN_SANITIZE_ALL
	select ARCH_HAVE_NMI_SAFE_CMPXCHG
@@ -39,23 +61,17 @@ config X86
	select ARCH_MIGHT_HAVE_PC_SERIO
	select ARCH_SUPPORTS_ATOMIC_RMW
	select ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT
	select ARCH_SUPPORTS_INT128		if X86_64
	select ARCH_SUPPORTS_NUMA_BALANCING	if X86_64
	select ARCH_USE_BUILTIN_BSWAP
	select ARCH_USE_CMPXCHG_LOCKREF		if X86_64
	select ARCH_USE_QUEUED_RWLOCKS
	select ARCH_USE_QUEUED_SPINLOCKS
	select ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH if SMP
	select ARCH_WANTS_DYNAMIC_TASK_STRUCT
	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 CLKEVT_I8253
	select CLKSRC_I8253			if X86_32
	select CLOCKSOURCE_VALIDATE_LAST_CYCLE
	select CLOCKSOURCE_WATCHDOG
	select CLONE_BACKWARDS			if X86_32
	select COMPAT_OLD_SIGACTION		if IA32_EMULATION
	select DCACHE_WORD_ACCESS
	select EDAC_ATOMIC_SCRUB
	select EDAC_SUPPORT
@@ -77,7 +93,6 @@ config X86
	select HAVE_ACPI_APEI			if ACPI
	select HAVE_ACPI_APEI_NMI		if ACPI
	select HAVE_ALIGNED_STRUCT_PAGE		if SLUB
	select HAVE_AOUT			if X86_32
	select HAVE_ARCH_AUDITSYSCALL
	select HAVE_ARCH_HARDENED_USERCOPY
	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_COMPAT_BITS	if MMU && COMPAT
	select HAVE_ARCH_SECCOMP_FILTER
	select HAVE_ARCH_SOFT_DIRTY		if X86_64
	select HAVE_ARCH_TRACEHOOK
	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_WITHIN_STACK_FRAMES
	select HAVE_CC_STACKPROTECTOR
	select HAVE_CMPXCHG_DOUBLE
	select HAVE_CMPXCHG_LOCAL
@@ -106,6 +119,7 @@ config X86
	select HAVE_DMA_CONTIGUOUS
	select HAVE_DYNAMIC_FTRACE
	select HAVE_DYNAMIC_FTRACE_WITH_REGS
	select HAVE_EBPF_JIT			if X86_64
	select HAVE_EFFICIENT_UNALIGNED_ACCESS
	select HAVE_EXIT_THREAD
	select HAVE_FENTRY			if X86_64
@@ -113,7 +127,6 @@ config X86
	select HAVE_FUNCTION_GRAPH_TRACER
	select HAVE_FUNCTION_TRACER
	select HAVE_GCC_PLUGINS
	select HAVE_GENERIC_DMA_COHERENT	if X86_32
	select HAVE_HW_BREAKPOINT
	select HAVE_IDE
	select HAVE_IOREMAP_PROT
@@ -142,15 +155,11 @@ config X86
	select HAVE_PERF_REGS
	select HAVE_PERF_USER_STACK_DUMP
	select HAVE_REGS_AND_STACK_ACCESS_API
	select HAVE_STACK_VALIDATION		if X86_64
	select HAVE_SYSCALL_TRACEPOINTS
	select HAVE_UID16			if X86_32 || IA32_EMULATION
	select HAVE_UNSTABLE_SCHED_CLOCK
	select HAVE_USER_RETURN_NOTIFIER
	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 RTC_LIB
	select RTC_MC146818_LIB
@@ -160,11 +169,7 @@ config X86
	select THREAD_INFO_IN_TASK
	select USER_STACKTRACE_SUPPORT
	select VIRT_TO_BUS
	select X86_DEV_DMA_OPS			if X86_64
	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
	def_bool y
@@ -1758,6 +1763,8 @@ config X86_INTEL_MEMORY_PROTECTION_KEYS
	def_bool y
	# Note: only available in 64-bit mode
	depends on CPU_SUP_INTEL && X86_64
	select ARCH_USES_HIGH_VMA_FLAGS
	select ARCH_HAS_PKEYS
	---help---
	  Memory Protection Keys provides a mechanism for enforcing
	  page-based protections, but without requiring modification of the
@@ -2113,7 +2120,7 @@ config DEBUG_HOTPLUG_CPU0
config COMPAT_VDSO
	def_bool n
	prompt "Disable the 32-bit vDSO (needed for glibc 2.3.3)"
	depends on X86_32 || IA32_EMULATION
	depends on COMPAT_32
	---help---
	  Certain buggy versions of glibc will crash if they are
	  presented with a 32-bit vDSO that is not mapped at the address
@@ -2715,9 +2722,10 @@ source "fs/Kconfig.binfmt"
config IA32_EMULATION
	bool "IA32 Emulation"
	depends on X86_64
	select ARCH_WANT_OLD_COMPAT_IPC
	select BINFMT_ELF
	select COMPAT_BINFMT_ELF
	select ARCH_WANT_OLD_COMPAT_IPC
	select COMPAT_OLD_SIGACTION
	---help---
	  Include code to run legacy 32-bit programs under a
	  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
	  option set.

config COMPAT_32
	def_bool y
	depends on IA32_EMULATION || X86_32
	select HAVE_UID16
	select OLD_SIGSUSPEND3

config COMPAT
	def_bool y
	depends on IA32_EMULATION || X86_X32
+0 −4
Original line number Diff line number Diff line
@@ -6,10 +6,6 @@ generated-y += unistd_32_ia32.h
generated-y += unistd_64_x32.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 += cputime.h
generic-y += dma-contiguous.h
+1 −1
Original line number Diff line number Diff line
@@ -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
KBUILD_AFLAGS	:= $(KBUILD_CFLAGS) -D__ASSEMBLY__
GCOV_PROFILE := n