X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/2d21ac55c334faf3a56e5634905ed6987fc787d4..99c3a10404e5d1ef94397ab4df5a8b74711fc4d3:/osfmk/i386/i386_lowmem.h diff --git a/osfmk/i386/i386_lowmem.h b/osfmk/i386/i386_lowmem.h index ffbb00b57..97fa06012 100644 --- a/osfmk/i386/i386_lowmem.h +++ b/osfmk/i386/i386_lowmem.h @@ -32,10 +32,25 @@ #ifdef __APPLE_API_PRIVATE -#define I386_LOWMEM_RESERVED 0x18 +/* + * The kernel better be statically linked at VM_MIN_KERNEL_ADDRESS + 0x100000 + */ +#define I386_KERNEL_IMAGE_BASE_PAGE 0x100 + +#if defined(__i386__) +#define I386_LOWMEM_RESERVED 0x18 -#define I386_HIB_PAGETABLE 0x13 -#define I386_HIB_PAGETABLE_COUNT 5 +#define I386_HIB_PAGETABLE 0x13 +#define I386_HIB_PAGETABLE_COUNT 5 + +#elif defined(__x86_64__) +/* For K64, only 3 pages are reserved + * - physical page zero, a gap page, and then real-mode-bootstrap/lowGlo. + * Note that the kernel virtual address 0xffffff8000002000 is re-mapped + * to the low globals and that physical page, 0x2000, is used by the bootstrap. + */ +#define I386_LOWMEM_RESERVED 3 +#endif #endif /* __APPLE_API_PRIVATE */