svn commit: r223377 - head/sys/sparc64/sparc64
Marius Strobl
marius at FreeBSD.org
Tue Jun 21 20:47:04 UTC 2011
Author: marius
Date: Tue Jun 21 20:47:03 2011
New Revision: 223377
URL: http://svn.freebsd.org/changeset/base/223377
Log:
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 increase
the kernel virtual memory to not be limited by VM_KMEM_SIZE_MAX.
Modified:
head/sys/sparc64/sparc64/pmap.c
Modified: head/sys/sparc64/sparc64/pmap.c
==============================================================================
--- head/sys/sparc64/sparc64/pmap.c Tue Jun 21 20:44:06 2011 (r223376)
+++ head/sys/sparc64/sparc64/pmap.c Tue Jun 21 20:47:03 2011 (r223377)
@@ -384,11 +384,12 @@ pmap_bootstrap(u_int cpu_impl)
* public documentation is available for these, the latter just might
* not support it, yet.
*/
- virtsz = roundup(physsz, PAGE_SIZE_4M << (PAGE_SHIFT - TTE_SHIFT));
if (cpu_impl == CPU_IMPL_SPARC64V ||
- cpu_impl >= CPU_IMPL_ULTRASPARCIIIp)
+ cpu_impl >= CPU_IMPL_ULTRASPARCIIIp) {
tsb_kernel_ldd_phys = 1;
- else {
+ virtsz = roundup(5 / 3 * physsz, PAGE_SIZE_4M <<
+ (PAGE_SHIFT - TTE_SHIFT));
+ } else {
dtlb_slots_avail = 0;
for (i = 0; i < dtlb_slots; i++) {
data = dtlb_get_data(i);
@@ -401,6 +402,8 @@ pmap_bootstrap(u_int cpu_impl)
if (cpu_impl >= CPU_IMPL_ULTRASPARCI &&
cpu_impl < CPU_IMPL_ULTRASPARCIII)
dtlb_slots_avail /= 2;
+ virtsz = roundup(physsz, PAGE_SIZE_4M <<
+ (PAGE_SHIFT - TTE_SHIFT));
virtsz = MIN(virtsz, (dtlb_slots_avail * PAGE_SIZE_4M) <<
(PAGE_SHIFT - TTE_SHIFT));
}
More information about the svn-src-head
mailing list