summaryrefslogtreecommitdiff
path: root/i386/Makefrag.am
diff options
context:
space:
mode:
authorRichard Braun <rbraun@sceen.net>2016-01-30 01:25:52 +0100
committerRichard Braun <rbraun@sceen.net>2016-01-30 01:51:48 +0100
commit945f51bfe865e122d73986dd8219762450ffc0f3 (patch)
tree858283023412ddf46f7504cad5f5aa26dbce0496 /i386/Makefrag.am
parentc29915fccda96258dbccf49b052ee4ddd7d51169 (diff)
Fix early page allocation on Xen
The Xen target was completely ignored when porting the biosmem and vm_page physical memory allocators. Let's fix this. * i386/Makefrag.am (libkernel_a_SOURCES): Add i386/i386at/biosmem.{c,h}. * i386/i386/vm_page.h (VM_PAGE_MAX_SEGS, VM_PAGE_DIRECTMAP_LIMIT, VM_PAGE_HIGHMEM_LIMIT): Define for Xen. * i386/i386at/biosmem.c: Include mach/xen.h. (biosmem_panic_setup_msg): Comment out for Xen since it's unused. (biosmem_map_build, biosmem_map_build_simple, biosmem_save_cmdline_sizes, biosmem_find_boot_data_update, biosmem_find_boot_data, biosmem_setup_allocator): Likewise. (biosmem_bootstrap_common): New function. (biosmem_xen_bootstrap): Likewise, for Xen. (biosmem_bootalloc): Perform bottom-up allocations for Xen. * i386/i386at/biosmem.h (biosmem_xen_bootstrap): New prototype, for Xen. * i386/i386at/model_dep.c (i386at_init): Call biosmem_xen_bootstrap instead of biosmem_bootstrap on Xen. * i386/include/mach/i386/vm_types.h (phys_addr_t): Define as an unsigned 64-bits integer when PAE is enabled.
Diffstat (limited to 'i386/Makefrag.am')
-rw-r--r--i386/Makefrag.am4
1 files changed, 2 insertions, 2 deletions
diff --git a/i386/Makefrag.am b/i386/Makefrag.am
index e6cfedd..0c5faa3 100644
--- a/i386/Makefrag.am
+++ b/i386/Makefrag.am
@@ -20,6 +20,8 @@
libkernel_a_SOURCES += \
i386/i386at/autoconf.c \
i386/i386at/autoconf.h \
+ i386/i386at/biosmem.c \
+ i386/i386at/biosmem.h \
i386/i386at/conf.c \
i386/i386at/cons_conf.c \
i386/i386at/idt.h \
@@ -29,8 +31,6 @@ libkernel_a_SOURCES += \
if PLATFORM_at
libkernel_a_SOURCES += \
- i386/i386at/biosmem.c \
- i386/i386at/biosmem.h \
i386/i386at/boothdr.S \
i386/i386at/com.c \
i386/i386at/com.h \