aboutsummaryrefslogtreecommitdiffstats
path: root/extras/mini-os/arch/x86/arch.mk
diff options
context:
space:
mode:
authorkfraser@localhost.localdomain <kfraser@localhost.localdomain>2007-01-17 15:09:50 +0000
committerkfraser@localhost.localdomain <kfraser@localhost.localdomain>2007-01-17 15:09:50 +0000
commitf515c2cf95c5a6bc88a67a7e6319637b7c6e378b (patch)
tree54d642abd3f4194f557ae9c0e0f362be594fcd20 /extras/mini-os/arch/x86/arch.mk
parent4ff20a30344f24c7a246e6ceb3b631c9876c6a51 (diff)
downloadxen-f515c2cf95c5a6bc88a67a7e6319637b7c6e378b.tar.gz
xen-f515c2cf95c5a6bc88a67a7e6319637b7c6e378b.tar.bz2
xen-f515c2cf95c5a6bc88a67a7e6319637b7c6e378b.zip
[MINIOS] New make structure to support different architectures.
Signed-off-by: Dietmar Hahn <dietmar.hahn@fujitsu-siemens.com>
Diffstat (limited to 'extras/mini-os/arch/x86/arch.mk')
-rw-r--r--extras/mini-os/arch/x86/arch.mk28
1 files changed, 28 insertions, 0 deletions
diff --git a/extras/mini-os/arch/x86/arch.mk b/extras/mini-os/arch/x86/arch.mk
new file mode 100644
index 0000000000..5d0ee4add7
--- /dev/null
+++ b/extras/mini-os/arch/x86/arch.mk
@@ -0,0 +1,28 @@
+#
+# Architecture special makerules for x86 family
+# (including x86_32, x86_32y and x86_64).
+#
+
+ifeq ($(TARGET_ARCH),x86_32)
+ARCH_CFLAGS := -m32 -march=i686
+ARCH_LDFLAGS := -m elf_i386
+EXTRA_INC += $(TARGET_ARCH_FAM)/$(TARGET_ARCH)
+EXTRA_SRC += arch/$(EXTRA_INC)
+endif
+
+ifeq ($(TARGET_ARCH)$(pae),x86_32y)
+ARCH_CFLAGS := -DCONFIG_X86_PAE=1
+ARCH_ASFLAGS := -DCONFIG_X86_PAE=1
+EXTRA_INC += $(TARGET_ARCH_FAM)/$(TARGET_ARCH)
+EXTRA_SRC += arch/$(EXTRA_INC)
+endif
+
+ifeq ($(TARGET_ARCH),x86_64)
+ARCH_CFLAGS := -m64 -mno-red-zone -fpic -fno-reorder-blocks
+ARCH_CFLAGS := -fno-asynchronous-unwind-tables
+ARCH_LDFLAGS := -m elf_x86_64
+EXTRA_INC += $(TARGET_ARCH_FAM)/$(TARGET_ARCH)
+EXTRA_SRC += arch/$(EXTRA_INC)
+endif
+
+