4 #include <kern/types.h>
5 #include <arch/paging.h>
14 // First and last+1 pages of memory, as page numbers. Small holes are
15 // ignored; large holes will require discontiguous memory support.
17 static const size_t mem_start = 0;
18 extern size_t mem_end;
20 static const uintptr_t highzonestart = 4UL*1024*1024*1024 / page_size;
21 static const uintptr_t dma32zonestart = 16*1024*1024 / page_size;
23 extern Mem::PageAllocZone *pagezones[];
24 extern Mem::PageAllocZone **pagezonelists[3];
26 extern uintptr_t next_free_bootmem;
45 extern Mem::PageAllocZone isadmazone, dma32zone, highzone;
47 void early_adjust_mappings();
49 // Call after mem_end is set.
54 extern Arch::Priv::Descriptor x64_gdt[1024];