All new accounts created on Gitlab now require administrator approval. If you invite any collaborators, please let Flux staff know so they can approve the accounts.

Commit d746d647 authored by Sam Ravnborg's avatar Sam Ravnborg

x86: do not use $(ARCH) when not needed

For x86 ARCH may say i386 or x86_64 and soon x86.
Rely on CONFIG_X64_32 to select between 32/64 or just
hardcode the value as appropriate.
Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
parent 2a113281
...@@ -197,8 +197,13 @@ CROSS_COMPILE ?= ...@@ -197,8 +197,13 @@ CROSS_COMPILE ?=
UTS_MACHINE := $(ARCH) UTS_MACHINE := $(ARCH)
SRCARCH := $(ARCH) SRCARCH := $(ARCH)
# for i386 and x86_64 we use SRCARCH equal to x86 # Additional ARCH settings for x86
SRCARCH := $(if $(filter x86_64 i386,$(SRCARCH)),x86,$(SRCARCH)) ifeq ($(ARCH),i386)
SRCARCH := x86
endif
ifeq ($(ARCH),x86_64)
SRCARCH := x86
endif
KCONFIG_CONFIG ?= .config KCONFIG_CONFIG ?= .config
......
# Unified Makefile for i386 and x86_64 # Unified Makefile for i386 and x86_64
# select defconfig based on actual architecture # select defconfig based on actual architecture
KBUILD_DEFCONFIG := $(ARCH)_defconfig ifeq ($(ARCH),x86)
KBUILD_DEFCONFIG := i386_defconfig
else
KBUILD_DEFCONFIG := $(ARCH)_defconfig
endif
# # No need to remake these files # No need to remake these files
$(srctree)/arch/x86/Makefile%: ; $(srctree)/arch/x86/Makefile%: ;
ifeq ($(ARCH),i386) ifeq ($(CONFIG_X86_32),y)
include $(srctree)/arch/x86/Makefile_32 include $(srctree)/arch/x86/Makefile_32
else else
include $(srctree)/arch/x86/Makefile_64 include $(srctree)/arch/x86/Makefile_64
......
...@@ -160,7 +160,7 @@ archclean: ...@@ -160,7 +160,7 @@ archclean:
$(Q)$(MAKE) $(clean)=arch/x86/boot $(Q)$(MAKE) $(clean)=arch/x86/boot
define archhelp define archhelp
echo '* bzImage - Compressed kernel image (arch/$(ARCH)/boot/bzImage)' echo '* bzImage - Compressed kernel image (arch/x86/boot/bzImage)'
echo ' install - Install kernel using' echo ' install - Install kernel using'
echo ' (your) ~/bin/installkernel or' echo ' (your) ~/bin/installkernel or'
echo ' (distribution) /sbin/installkernel or' echo ' (distribution) /sbin/installkernel or'
...@@ -170,6 +170,6 @@ define archhelp ...@@ -170,6 +170,6 @@ define archhelp
echo ' isoimage - Create a boot CD-ROM image' echo ' isoimage - Create a boot CD-ROM image'
endef endef
CLEAN_FILES += arch/$(ARCH)/boot/fdimage \ CLEAN_FILES += arch/x86/boot/fdimage \
arch/$(ARCH)/boot/image.iso \ arch/x86/boot/image.iso \
arch/$(ARCH)/boot/mtools.conf arch/x86/boot/mtools.conf
...@@ -127,7 +127,7 @@ archclean: ...@@ -127,7 +127,7 @@ archclean:
$(Q)$(MAKE) $(clean)=$(boot) $(Q)$(MAKE) $(clean)=$(boot)
define archhelp define archhelp
echo '* bzImage - Compressed kernel image (arch/$(ARCH)/boot/bzImage)' echo '* bzImage - Compressed kernel image (arch/x86/boot/bzImage)'
echo ' install - Install kernel using' echo ' install - Install kernel using'
echo ' (your) ~/bin/installkernel or' echo ' (your) ~/bin/installkernel or'
echo ' (distribution) /sbin/installkernel or' echo ' (distribution) /sbin/installkernel or'
...@@ -137,8 +137,8 @@ define archhelp ...@@ -137,8 +137,8 @@ define archhelp
echo ' isoimage - Create a boot CD-ROM image' echo ' isoimage - Create a boot CD-ROM image'
endef endef
CLEAN_FILES += arch/$(ARCH)/boot/fdimage \ CLEAN_FILES += arch/x86/boot/fdimage \
arch/$(ARCH)/boot/image.iso \ arch/x86/boot/image.iso \
arch/$(ARCH)/boot/mtools.conf arch/x86/boot/mtools.conf
...@@ -49,10 +49,10 @@ HOSTCFLAGS_build.o := $(LINUXINCLUDE) ...@@ -49,10 +49,10 @@ HOSTCFLAGS_build.o := $(LINUXINCLUDE)
# How to compile the 16-bit code. Note we always compile for -march=i386, # How to compile the 16-bit code. Note we always compile for -march=i386,
# that way we can complain to the user if the CPU is insufficient. # that way we can complain to the user if the CPU is insufficient.
cflags-i386 := cflags-$(CONFIG_X86_32) :=
cflags-x86_64 := -m32 cflags-$(CONFIG_X86_64) := -m32
KBUILD_CFLAGS := $(LINUXINCLUDE) -g -Os -D_SETUP -D__KERNEL__ \ KBUILD_CFLAGS := $(LINUXINCLUDE) -g -Os -D_SETUP -D__KERNEL__ \
$(cflags-$(ARCH)) \ $(cflags-y) \
-Wall -Wstrict-prototypes \ -Wall -Wstrict-prototypes \
-march=i386 -mregparm=3 \ -march=i386 -mregparm=3 \
-include $(srctree)/$(src)/code16gcc.h \ -include $(srctree)/$(src)/code16gcc.h \
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
# #
extra-y := head_32.o init_task.o vmlinux.lds extra-y := head_32.o init_task.o vmlinux.lds
CPPFLAGS_vmlinux.lds += -Ui386
obj-y := process_32.o signal_32.o entry_32.o traps_32.o irq_32.o \ obj-y := process_32.o signal_32.o entry_32.o traps_32.o irq_32.o \
ptrace_32.o time_32.o ioport_32.o ldt_32.o setup_32.o i8259_32.o sys_i386_32.o \ ptrace_32.o time_32.o ioport_32.o ldt_32.o setup_32.o i8259_32.o sys_i386_32.o \
...@@ -60,7 +61,7 @@ quiet_cmd_syscall = SYSCALL $@ ...@@ -60,7 +61,7 @@ quiet_cmd_syscall = SYSCALL $@
cmd_syscall = $(CC) -m elf_i386 -nostdlib $(SYSCFLAGS_$(@F)) \ cmd_syscall = $(CC) -m elf_i386 -nostdlib $(SYSCFLAGS_$(@F)) \
-Wl,-T,$(filter-out FORCE,$^) -o $@ -Wl,-T,$(filter-out FORCE,$^) -o $@
export CPPFLAGS_vsyscall_32.lds += -P -C -U$(ARCH) export CPPFLAGS_vsyscall_32.lds += -P -C -Ui386
vsyscall-flags = -shared -s -Wl,-soname=linux-gate.so.1 \ vsyscall-flags = -shared -s -Wl,-soname=linux-gate.so.1 \
$(call ld-option, -Wl$(comma)--hash-style=sysv) $(call ld-option, -Wl$(comma)--hash-style=sysv)
......
...@@ -3,7 +3,9 @@ ...@@ -3,7 +3,9 @@
# #
extra-y := head_64.o head64.o init_task.o vmlinux.lds extra-y := head_64.o head64.o init_task.o vmlinux.lds
CPPFLAGS_vmlinux.lds += -Ux86_64
EXTRA_AFLAGS := -traditional EXTRA_AFLAGS := -traditional
obj-y := process_64.o signal_64.o entry_64.o traps_64.o irq_64.o \ obj-y := process_64.o signal_64.o entry_64.o traps_64.o irq_64.o \
ptrace_64.o time_64.o ioport_64.o ldt_64.o setup_64.o i8259_64.o sys_x86_64.o \ ptrace_64.o time_64.o ioport_64.o ldt_64.o setup_64.o i8259_64.o sys_x86_64.o \
x8664_ksyms_64.o i387_64.o syscall_64.o vsyscall_64.o \ x8664_ksyms_64.o i387_64.o syscall_64.o vsyscall_64.o \
......
...@@ -20,7 +20,7 @@ quiet_cmd_syscall = SYSCALL $@ ...@@ -20,7 +20,7 @@ quiet_cmd_syscall = SYSCALL $@
cmd_syscall = $(CC) -m elf_x86_64 -nostdlib $(SYSCFLAGS_$(@F)) \ cmd_syscall = $(CC) -m elf_x86_64 -nostdlib $(SYSCFLAGS_$(@F)) \
-Wl,-T,$(filter-out FORCE,$^) -o $@ -Wl,-T,$(filter-out FORCE,$^) -o $@
export CPPFLAGS_vdso.lds += -P -C -U$(ARCH) export CPPFLAGS_vdso.lds += -P -C
vdso-flags = -fPIC -shared -Wl,-soname=linux-vdso.so.1 \ vdso-flags = -fPIC -shared -Wl,-soname=linux-vdso.so.1 \
$(call ld-option, -Wl$(comma)--hash-style=sysv) \ $(call ld-option, -Wl$(comma)--hash-style=sysv) \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment