aboutsummaryrefslogtreecommitdiff
path: root/sys/sparc64/include/tsb.h
diff options
context:
space:
mode:
authorJake Burkholder <jake@FreeBSD.org>2002-08-10 22:14:16 +0000
committerJake Burkholder <jake@FreeBSD.org>2002-08-10 22:14:16 +0000
commit5aebb4029139c2675b97d1373ef2a379405d7c7c (patch)
tree7349581d304c20934c8c25ed2dcc7c74735a7e7e /sys/sparc64/include/tsb.h
parentd64915d6e373efc67190d1220865e76c5eaf046f (diff)
Auto size available kernel virtual address space based on phsyical memory
size. This avoids blowing out kva in kmeminit() on large memory machines (4 gigs or more). Reviewed by: tmm
Notes
Notes: svn path=/head/; revision=101653
Diffstat (limited to 'sys/sparc64/include/tsb.h')
-rw-r--r--sys/sparc64/include/tsb.h9
1 files changed, 3 insertions, 6 deletions
diff --git a/sys/sparc64/include/tsb.h b/sys/sparc64/include/tsb.h
index a12b6349554f..20db029aff9d 100644
--- a/sys/sparc64/include/tsb.h
+++ b/sys/sparc64/include/tsb.h
@@ -43,12 +43,9 @@
(TSB_BSHIFT - TSB_BUCKET_SHIFT - TTE_SHIFT)
#define TSB_BUCKET_MASK ((1 << TSB_BUCKET_ADDRESS_BITS) - 1)
-#define TSB_KERNEL_SIZE \
- ((KVA_PAGES * PAGE_SIZE_4M) / sizeof(struct tte))
-#define TSB_KERNEL_MASK (TSB_KERNEL_SIZE - 1)
-#define TSB_KERNEL_VA_MASK (TSB_KERNEL_MASK << TTE_SHIFT)
-
extern struct tte *tsb_kernel;
+extern vm_size_t tsb_kernel_mask;
+extern vm_size_t tsb_kernel_size;
extern vm_offset_t tsb_kernel_phys;
static __inline struct tte *
@@ -66,7 +63,7 @@ tsb_vtobucket(pmap_t pm, vm_offset_t va)
static __inline struct tte *
tsb_kvpntotte(vm_offset_t vpn)
{
- return (&tsb_kernel[vpn & TSB_KERNEL_MASK]);
+ return (&tsb_kernel[vpn & tsb_kernel_mask]);
}
static __inline struct tte *