diff options
Diffstat (limited to 'sys/amd64')
-rw-r--r-- | sys/amd64/include/pmap.h | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/sys/amd64/include/pmap.h b/sys/amd64/include/pmap.h index ab923fb..a6eabae 100644 --- a/sys/amd64/include/pmap.h +++ b/sys/amd64/include/pmap.h @@ -83,19 +83,28 @@ #define PGEX_U 0x04 /* access from User mode (UPL) */ /* + * Size of Kernel address space. This is the number of page table pages + * (4MB each) to use for the kernel. 256 pages == 1 Gigabyte. + * This **MUST** be a multiple of 4 (eg: 252, 256, 260, etc). + */ +#ifndef KVA_PAGES +#define KVA_PAGES 256 +#endif + +/* * Pte related macros */ #define VADDR(pdi, pti) ((vm_offset_t)(((pdi)<<PDRSHIFT)|((pti)<<PAGE_SHIFT))) #ifndef NKPT -#define NKPT 30 /* actual number of kernel page tables */ +#define NKPT 30 /* actual number of kernel page tables */ #endif #ifndef NKPDE #ifdef SMP -#define NKPDE 254 /* addressable number of page tables/pde's */ +#define NKPDE (KVA_PAGES - 2) /* addressable number of page tables/pde's */ #else -#define NKPDE 255 /* addressable number of page tables/pde's */ -#endif /* SMP */ +#define NKPDE (KVA_PAGES - 1) /* addressable number of page tables/pde's */ +#endif #endif /* |