diff options
author | Poul-Henning Kamp <phk@FreeBSD.org> | 1996-04-30 12:02:12 +0000 |
---|---|---|
committer | Poul-Henning Kamp <phk@FreeBSD.org> | 1996-04-30 12:02:12 +0000 |
commit | 68c1eb1215e4a63a700f88be07c651c701b77600 (patch) | |
tree | 5285e538e31862d70153bd471ed6fb9542241c9c /sys/amd64/include/vmparam.h | |
parent | d783aa7bc31b0ccb37c014a0897f190d92760bfe (diff) | |
download | src-68c1eb1215e4a63a700f88be07c651c701b77600.tar.gz src-68c1eb1215e4a63a700f88be07c651c701b77600.zip |
pte.h: Add the VADDR(pdi,pti) macro to construct virtual address from
page dir+table index.
pmap.h: remove NUPDE, it was wrong and not used. Sanitize KSTKPTEOFF.
vmparam.h: Calculate virtual addr from PDI+PTI from pmap.h rather than
using magic math. Remove UPDT, not used.
Notes
Notes:
svn path=/head/; revision=15472
Diffstat (limited to 'sys/amd64/include/vmparam.h')
-rw-r--r-- | sys/amd64/include/vmparam.h | 35 |
1 files changed, 21 insertions, 14 deletions
diff --git a/sys/amd64/include/vmparam.h b/sys/amd64/include/vmparam.h index 942f742eb7f6..7212da9330c6 100644 --- a/sys/amd64/include/vmparam.h +++ b/sys/amd64/include/vmparam.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * from: @(#)vmparam.h 5.9 (Berkeley) 5/12/91 - * $Id: vmparam.h,v 1.18 1995/05/25 07:41:28 davidg Exp $ + * $Id: vmparam.h,v 1.19 1996/03/12 15:37:58 davidg Exp $ */ @@ -87,24 +87,31 @@ */ #define MAXSLP 20 + /* - * Mach derived constants + * Virtual addresses of things. Derived from the page directory and + * page table indexes from pmap.h for precision. + * Because of the page that is both a PD and PT, it looks a little + * messy at times, but hey, we'll do anything to save a page :-) */ -/* user/kernel map constants */ -#define KERNBASE ((0x400-1-NKPDE)*(NBPG*NPTEPG)) +#define VM_MAX_KERNEL_ADDRESS VADDR(KPTDI+NKPDE, 0) +#define VM_MIN_KERNEL_ADDRESS VADDR(PTDPTDI, PTDPTDI) + +#define KERNBASE VADDR(KPTDI, 0) + +#define KPT_MAX_ADDRESS VADDR(PTDPTDI, APTDPTDI) +#define KPT_MIN_ADDRESS VADDR(PTDPTDI, KPTDI) + +#define UPT_MAX_ADDRESS VADDR(PTDPTDI, PTDPTDI) +#define UPT_MIN_ADDRESS VADDR(PTDPTDI, 0) + +#define VM_MAXUSER_ADDRESS VADDR(KSTKPTDI, KSTKPTEOFF) + +#define USRSTACK VM_MAXUSER_ADDRESS +#define VM_MAX_ADDRESS VADDR(PTDPTDI, PTDPTDI) #define VM_MIN_ADDRESS ((vm_offset_t)0) -#define VM_MAXUSER_ADDRESS ((vm_offset_t)KERNBASE - (NBPG*(NPTEPG+UPAGES))) -#define USRSTACK VM_MAXUSER_ADDRESS -#define UPT_MIN_ADDRESS ((vm_offset_t)KERNBASE - (NBPG*NPTEPG)) -#define UPT_MAX_ADDRESS ((vm_offset_t)KERNBASE - (NBPG*(NKPDE+2))) -#define VM_MAX_ADDRESS UPT_MAX_ADDRESS -#define VM_MIN_KERNEL_ADDRESS ((vm_offset_t)KERNBASE - (NBPG*(NKPDE+2))) -#define UPDT VM_MIN_KERNEL_ADDRESS -#define KPT_MIN_ADDRESS ((vm_offset_t)KERNBASE - NBPG*(NKPDE+1)) -#define KPT_MAX_ADDRESS ((vm_offset_t)KERNBASE - NBPG) -#define VM_MAX_KERNEL_ADDRESS ((vm_offset_t)KERNBASE + NKPDE*NBPG*NPTEPG) /* virtual sizes (bytes) for various kernel submaps */ #define VM_KMEM_SIZE (32 * 1024 * 1024) |