summaryrefslogtreecommitdiffstats
path: root/sys/sparc64
diff options
context:
space:
mode:
authormarius <marius@FreeBSD.org>2011-06-21 20:48:14 +0000
committermarius <marius@FreeBSD.org>2011-06-21 20:48:14 +0000
commit3cb5b0723fb083aac66b0e60e0b09a7a1439db3f (patch)
tree0868fad0059ade5d588f7f0cada5e45fca4622c1 /sys/sparc64
parentcee084b03f7ae8330633fa6bdac66995e9d3c1ca (diff)
downloadFreeBSD-src-3cb5b0723fb083aac66b0e60e0b09a7a1439db3f.zip
FreeBSD-src-3cb5b0723fb083aac66b0e60e0b09a7a1439db3f.tar.gz
On machines where we don't need to lock the kernel TSB into the dTLB and
thus may basically use the entire 64-bit kernel address space reduce VM_KMEM_SIZE_SCALE to 1 allowing kernel to use more memory.
Diffstat (limited to 'sys/sparc64')
-rw-r--r--sys/sparc64/include/tsb.h1
-rw-r--r--sys/sparc64/include/vmparam.h3
2 files changed, 2 insertions, 2 deletions
diff --git a/sys/sparc64/include/tsb.h b/sys/sparc64/include/tsb.h
index 5fa1190..1fd1e8f 100644
--- a/sys/sparc64/include/tsb.h
+++ b/sys/sparc64/include/tsb.h
@@ -50,7 +50,6 @@ extern struct tte *tsb_kernel;
extern vm_size_t tsb_kernel_mask;
extern vm_size_t tsb_kernel_size;
extern vm_paddr_t tsb_kernel_phys;
-extern u_int tsb_kernel_ldd_phys;
static __inline struct tte *
tsb_vpntobucket(pmap_t pm, vm_offset_t vpn)
diff --git a/sys/sparc64/include/vmparam.h b/sys/sparc64/include/vmparam.h
index 1b9e537..6c17b4c 100644
--- a/sys/sparc64/include/vmparam.h
+++ b/sys/sparc64/include/vmparam.h
@@ -218,7 +218,7 @@
* is the total KVA space allocated for kmem_map.
*/
#ifndef VM_KMEM_SIZE_SCALE
-#define VM_KMEM_SIZE_SCALE (3)
+#define VM_KMEM_SIZE_SCALE (tsb_kernel_ldd_phys == 0 ? 3 : 1)
#endif
/*
@@ -238,6 +238,7 @@
#define UMA_MD_SMALL_ALLOC
+extern u_int tsb_kernel_ldd_phys;
extern vm_offset_t vm_max_kernel_address;
/*
OpenPOWER on IntegriCloud