diff options
-rw-r--r-- | Config.mk | 1 | ||||
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | xen/Rules.mk | 2 | ||||
-rw-r--r-- | xen/arch/x86/Rules.mk | 9 |
4 files changed, 14 insertions, 2 deletions
@@ -3,6 +3,7 @@ # Currently supported architectures: x86_32, x86_64 XEN_COMPILE_ARCH ?= $(shell uname -m | sed -e s/i.86/x86_32/) XEN_TARGET_ARCH ?= $(XEN_COMPILE_ARCH) +XEN_TARGET_X86_PAE ?= n # Tools to run on system hosting the build HOSTCC = gcc @@ -31,6 +31,10 @@ all: dist include Config.mk include buildconfigs/Rules.mk +ifeq ($(XEN_TARGET_X86_PAE),y) +export pae=y +endif + .PHONY: all dist install xen tools kernels docs world clean mkpatches mrproper .PHONY: kbuild kdelete kclean diff --git a/xen/Rules.mk b/xen/Rules.mk index 751bf460d3..d14d388017 100644 --- a/xen/Rules.mk +++ b/xen/Rules.mk @@ -51,7 +51,6 @@ ALL_OBJS += $(BASEDIR)/acm/acm.o endif ALL_OBJS += $(BASEDIR)/arch/$(TARGET_ARCH)/arch.o - test-gcc-flag = $(shell $(CC) -v --help 2>&1 | grep -q " $(1) " && echo $(1)) include $(BASEDIR)/arch/$(TARGET_ARCH)/Rules.mk @@ -91,4 +90,3 @@ CFLAGS := $(strip $(CFLAGS)) %.o: %.S $(HDRS) Makefile $(CC) $(CFLAGS) -D__ASSEMBLY__ -c $< -o $@ - diff --git a/xen/arch/x86/Rules.mk b/xen/arch/x86/Rules.mk index 647640797d..0675d763cd 100644 --- a/xen/arch/x86/Rules.mk +++ b/xen/arch/x86/Rules.mk @@ -1,6 +1,12 @@ ######################################## # x86-specific definitions +# +# If you change any of these configuration options then you must +# 'make clean' before rebuilding. +# +pae ?= n + CFLAGS += -nostdinc -fno-builtin -fno-common -fno-strict-aliasing CFLAGS += -iwithprefix include -Wall -Werror -Wno-pointer-arith -pipe CFLAGS += -I$(BASEDIR)/include @@ -24,6 +30,9 @@ CFLAGS += $(call test-gcc-flag,-fno-stack-protector-all) ifeq ($(TARGET_SUBARCH),x86_32) CFLAGS += -m32 -march=i686 LDFLAGS += -m elf_i386 +ifeq ($(pae),y) +CFLAGS += -DCONFIG_X86_PAE=1 +endif endif ifeq ($(TARGET_SUBARCH),x86_64) |