aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile9
-rw-r--r--arch/x86/Makefile10
-rw-r--r--arch/x86/Makefile_328
-rw-r--r--arch/x86/Makefile_648
-rw-r--r--arch/x86/boot/Makefile6
-rw-r--r--arch/x86/kernel/Makefile_323
-rw-r--r--arch/x86/kernel/Makefile_642
-rw-r--r--arch/x86/vdso/Makefile2
8 files changed, 30 insertions, 18 deletions
diff --git a/Makefile b/Makefile
index e28dde8887d7..b32963adfb95 100644
--- a/Makefile
+++ b/Makefile
@@ -197,8 +197,13 @@ CROSS_COMPILE ?=
197UTS_MACHINE := $(ARCH) 197UTS_MACHINE := $(ARCH)
198SRCARCH := $(ARCH) 198SRCARCH := $(ARCH)
199 199
200# for i386 and x86_64 we use SRCARCH equal to x86 200# Additional ARCH settings for x86
201SRCARCH := $(if $(filter x86_64 i386,$(SRCARCH)),x86,$(SRCARCH)) 201ifeq ($(ARCH),i386)
202 SRCARCH := x86
203endif
204ifeq ($(ARCH),x86_64)
205 SRCARCH := x86
206endif
202 207
203KCONFIG_CONFIG ?= .config 208KCONFIG_CONFIG ?= .config
204 209
diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index 309597386a77..116b03a45636 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -1,12 +1,16 @@
1# Unified Makefile for i386 and x86_64 1# Unified Makefile for i386 and x86_64
2 2
3# select defconfig based on actual architecture 3# select defconfig based on actual architecture
4KBUILD_DEFCONFIG := $(ARCH)_defconfig 4ifeq ($(ARCH),x86)
5 KBUILD_DEFCONFIG := i386_defconfig
6else
7 KBUILD_DEFCONFIG := $(ARCH)_defconfig
8endif
5 9
6# # No need to remake these files 10# No need to remake these files
7$(srctree)/arch/x86/Makefile%: ; 11$(srctree)/arch/x86/Makefile%: ;
8 12
9ifeq ($(ARCH),i386) 13ifeq ($(CONFIG_X86_32),y)
10 include $(srctree)/arch/x86/Makefile_32 14 include $(srctree)/arch/x86/Makefile_32
11else 15else
12 include $(srctree)/arch/x86/Makefile_64 16 include $(srctree)/arch/x86/Makefile_64
diff --git a/arch/x86/Makefile_32 b/arch/x86/Makefile_32
index 346ac0766875..50394da2f6c1 100644
--- a/arch/x86/Makefile_32
+++ b/arch/x86/Makefile_32
@@ -160,7 +160,7 @@ archclean:
160 $(Q)$(MAKE) $(clean)=arch/x86/boot 160 $(Q)$(MAKE) $(clean)=arch/x86/boot
161 161
162define archhelp 162define archhelp
163 echo '* bzImage - Compressed kernel image (arch/$(ARCH)/boot/bzImage)' 163 echo '* bzImage - Compressed kernel image (arch/x86/boot/bzImage)'
164 echo ' install - Install kernel using' 164 echo ' install - Install kernel using'
165 echo ' (your) ~/bin/installkernel or' 165 echo ' (your) ~/bin/installkernel or'
166 echo ' (distribution) /sbin/installkernel or' 166 echo ' (distribution) /sbin/installkernel or'
@@ -170,6 +170,6 @@ define archhelp
170 echo ' isoimage - Create a boot CD-ROM image' 170 echo ' isoimage - Create a boot CD-ROM image'
171endef 171endef
172 172
173CLEAN_FILES += arch/$(ARCH)/boot/fdimage \ 173CLEAN_FILES += arch/x86/boot/fdimage \
174 arch/$(ARCH)/boot/image.iso \ 174 arch/x86/boot/image.iso \
175 arch/$(ARCH)/boot/mtools.conf 175 arch/x86/boot/mtools.conf
diff --git a/arch/x86/Makefile_64 b/arch/x86/Makefile_64
index 57e714a47af7..a804860022e6 100644
--- a/arch/x86/Makefile_64
+++ b/arch/x86/Makefile_64
@@ -127,7 +127,7 @@ archclean:
127 $(Q)$(MAKE) $(clean)=$(boot) 127 $(Q)$(MAKE) $(clean)=$(boot)
128 128
129define archhelp 129define archhelp
130 echo '* bzImage - Compressed kernel image (arch/$(ARCH)/boot/bzImage)' 130 echo '* bzImage - Compressed kernel image (arch/x86/boot/bzImage)'
131 echo ' install - Install kernel using' 131 echo ' install - Install kernel using'
132 echo ' (your) ~/bin/installkernel or' 132 echo ' (your) ~/bin/installkernel or'
133 echo ' (distribution) /sbin/installkernel or' 133 echo ' (distribution) /sbin/installkernel or'
@@ -137,8 +137,8 @@ define archhelp
137 echo ' isoimage - Create a boot CD-ROM image' 137 echo ' isoimage - Create a boot CD-ROM image'
138endef 138endef
139 139
140CLEAN_FILES += arch/$(ARCH)/boot/fdimage \ 140CLEAN_FILES += arch/x86/boot/fdimage \
141 arch/$(ARCH)/boot/image.iso \ 141 arch/x86/boot/image.iso \
142 arch/$(ARCH)/boot/mtools.conf 142 arch/x86/boot/mtools.conf
143 143
144 144
diff --git a/arch/x86/boot/Makefile b/arch/x86/boot/Makefile
index 89dbf970e058..7a3116ccf387 100644
--- a/arch/x86/boot/Makefile
+++ b/arch/x86/boot/Makefile
@@ -49,10 +49,10 @@ HOSTCFLAGS_build.o := $(LINUXINCLUDE)
49 49
50# How to compile the 16-bit code. Note we always compile for -march=i386, 50# How to compile the 16-bit code. Note we always compile for -march=i386,
51# that way we can complain to the user if the CPU is insufficient. 51# that way we can complain to the user if the CPU is insufficient.
52cflags-i386 := 52cflags-$(CONFIG_X86_32) :=
53cflags-x86_64 := -m32 53cflags-$(CONFIG_X86_64) := -m32
54KBUILD_CFLAGS := $(LINUXINCLUDE) -g -Os -D_SETUP -D__KERNEL__ \ 54KBUILD_CFLAGS := $(LINUXINCLUDE) -g -Os -D_SETUP -D__KERNEL__ \
55 $(cflags-$(ARCH)) \ 55 $(cflags-y) \
56 -Wall -Wstrict-prototypes \ 56 -Wall -Wstrict-prototypes \
57 -march=i386 -mregparm=3 \ 57 -march=i386 -mregparm=3 \
58 -include $(srctree)/$(src)/code16gcc.h \ 58 -include $(srctree)/$(src)/code16gcc.h \
diff --git a/arch/x86/kernel/Makefile_32 b/arch/x86/kernel/Makefile_32
index b9d679820306..a7bc93c27662 100644
--- a/arch/x86/kernel/Makefile_32
+++ b/arch/x86/kernel/Makefile_32
@@ -3,6 +3,7 @@
3# 3#
4 4
5extra-y := head_32.o init_task.o vmlinux.lds 5extra-y := head_32.o init_task.o vmlinux.lds
6CPPFLAGS_vmlinux.lds += -Ui386
6 7
7obj-y := process_32.o signal_32.o entry_32.o traps_32.o irq_32.o \ 8obj-y := process_32.o signal_32.o entry_32.o traps_32.o irq_32.o \
8 ptrace_32.o time_32.o ioport_32.o ldt_32.o setup_32.o i8259_32.o sys_i386_32.o \ 9 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 cmd_syscall = $(CC) -m elf_i386 -nostdlib $(SYSCFLAGS_$(@F)) \ 61 cmd_syscall = $(CC) -m elf_i386 -nostdlib $(SYSCFLAGS_$(@F)) \
61 -Wl,-T,$(filter-out FORCE,$^) -o $@ 62 -Wl,-T,$(filter-out FORCE,$^) -o $@
62 63
63export CPPFLAGS_vsyscall_32.lds += -P -C -U$(ARCH) 64export CPPFLAGS_vsyscall_32.lds += -P -C -Ui386
64 65
65vsyscall-flags = -shared -s -Wl,-soname=linux-gate.so.1 \ 66vsyscall-flags = -shared -s -Wl,-soname=linux-gate.so.1 \
66 $(call ld-option, -Wl$(comma)--hash-style=sysv) 67 $(call ld-option, -Wl$(comma)--hash-style=sysv)
diff --git a/arch/x86/kernel/Makefile_64 b/arch/x86/kernel/Makefile_64
index 24671c3838b3..5a88890d8ee9 100644
--- a/arch/x86/kernel/Makefile_64
+++ b/arch/x86/kernel/Makefile_64
@@ -3,7 +3,9 @@
3# 3#
4 4
5extra-y := head_64.o head64.o init_task.o vmlinux.lds 5extra-y := head_64.o head64.o init_task.o vmlinux.lds
6CPPFLAGS_vmlinux.lds += -Ux86_64
6EXTRA_AFLAGS := -traditional 7EXTRA_AFLAGS := -traditional
8
7obj-y := process_64.o signal_64.o entry_64.o traps_64.o irq_64.o \ 9obj-y := process_64.o signal_64.o entry_64.o traps_64.o irq_64.o \
8 ptrace_64.o time_64.o ioport_64.o ldt_64.o setup_64.o i8259_64.o sys_x86_64.o \ 10 ptrace_64.o time_64.o ioport_64.o ldt_64.o setup_64.o i8259_64.o sys_x86_64.o \
9 x8664_ksyms_64.o i387_64.o syscall_64.o vsyscall_64.o \ 11 x8664_ksyms_64.o i387_64.o syscall_64.o vsyscall_64.o \
diff --git a/arch/x86/vdso/Makefile b/arch/x86/vdso/Makefile
index 7a2ba4583939..e7bff0fbac23 100644
--- a/arch/x86/vdso/Makefile
+++ b/arch/x86/vdso/Makefile
@@ -20,7 +20,7 @@ quiet_cmd_syscall = SYSCALL $@
20 cmd_syscall = $(CC) -m elf_x86_64 -nostdlib $(SYSCFLAGS_$(@F)) \ 20 cmd_syscall = $(CC) -m elf_x86_64 -nostdlib $(SYSCFLAGS_$(@F)) \
21 -Wl,-T,$(filter-out FORCE,$^) -o $@ 21 -Wl,-T,$(filter-out FORCE,$^) -o $@
22 22
23export CPPFLAGS_vdso.lds += -P -C -U$(ARCH) 23export CPPFLAGS_vdso.lds += -P -C
24 24
25vdso-flags = -fPIC -shared -Wl,-soname=linux-vdso.so.1 \ 25vdso-flags = -fPIC -shared -Wl,-soname=linux-vdso.so.1 \
26 $(call ld-option, -Wl$(comma)--hash-style=sysv) \ 26 $(call ld-option, -Wl$(comma)--hash-style=sysv) \