aboutsummaryrefslogtreecommitdiff
path: root/x86_64/Makefrag.am
diff options
context:
space:
mode:
Diffstat (limited to 'x86_64/Makefrag.am')
-rw-r--r--x86_64/Makefrag.am17
1 files changed, 16 insertions, 1 deletions
diff --git a/x86_64/Makefrag.am b/x86_64/Makefrag.am
index 6b6bb2cb..0139940a 100644
--- a/x86_64/Makefrag.am
+++ b/x86_64/Makefrag.am
@@ -212,10 +212,25 @@ nodist_libkernel_a_SOURCES += \
#
if PLATFORM_at
+# This should probably be 0xffffffff80000000 for mcmodel=kernel, but let's try
+# to stay in the first 8G first, otherwise we have to fix the pmap module to
+# actually use the l4 page level
+#KERNEL_MAP_BASE=0x100000000
+# but for nor try with < 4G, otherwise we have linker errors
+KERNEL_MAP_BASE=0x40000000
gnumach_LINKFLAGS += \
--defsym _START_MAP=$(_START_MAP) \
- --defsym _START=_START_MAP+0x40000000 \
+ --defsym _START=_START_MAP \
+ --defsym KERNEL_MAP_BASE=$(KERNEL_MAP_BASE) \
-T '$(srcdir)'/x86_64/ldscript
+
+AM_CFLAGS += -D_START_MAP=$(_START_MAP) \
+ -DKERNEL_MAP_BASE=$(KERNEL_MAP_BASE)
+AM_CCASFLAGS += -D_START_MAP=$(_START_MAP) \
+ -DKERNEL_MAP_BASE=$(KERNEL_MAP_BASE)
+
+AM_CCASFLAGS += \
+ -Ii386
endif
AM_CPPFLAGS += \