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.
This commit is contained in:
parent
3eae894196
commit
cee084b03f
@ -384,11 +384,12 @@ pmap_bootstrap(u_int cpu_impl)
|
|||||||
* public documentation is available for these, the latter just might
|
* public documentation is available for these, the latter just might
|
||||||
* not support it, yet.
|
* not support it, yet.
|
||||||
*/
|
*/
|
||||||
virtsz = roundup(physsz, PAGE_SIZE_4M << (PAGE_SHIFT - TTE_SHIFT));
|
|
||||||
if (cpu_impl == CPU_IMPL_SPARC64V ||
|
if (cpu_impl == CPU_IMPL_SPARC64V ||
|
||||||
cpu_impl >= CPU_IMPL_ULTRASPARCIIIp)
|
cpu_impl >= CPU_IMPL_ULTRASPARCIIIp) {
|
||||||
tsb_kernel_ldd_phys = 1;
|
tsb_kernel_ldd_phys = 1;
|
||||||
else {
|
virtsz = roundup(5 / 3 * physsz, PAGE_SIZE_4M <<
|
||||||
|
(PAGE_SHIFT - TTE_SHIFT));
|
||||||
|
} else {
|
||||||
dtlb_slots_avail = 0;
|
dtlb_slots_avail = 0;
|
||||||
for (i = 0; i < dtlb_slots; i++) {
|
for (i = 0; i < dtlb_slots; i++) {
|
||||||
data = dtlb_get_data(i);
|
data = dtlb_get_data(i);
|
||||||
@ -401,6 +402,8 @@ pmap_bootstrap(u_int cpu_impl)
|
|||||||
if (cpu_impl >= CPU_IMPL_ULTRASPARCI &&
|
if (cpu_impl >= CPU_IMPL_ULTRASPARCI &&
|
||||||
cpu_impl < CPU_IMPL_ULTRASPARCIII)
|
cpu_impl < CPU_IMPL_ULTRASPARCIII)
|
||||||
dtlb_slots_avail /= 2;
|
dtlb_slots_avail /= 2;
|
||||||
|
virtsz = roundup(physsz, PAGE_SIZE_4M <<
|
||||||
|
(PAGE_SHIFT - TTE_SHIFT));
|
||||||
virtsz = MIN(virtsz, (dtlb_slots_avail * PAGE_SIZE_4M) <<
|
virtsz = MIN(virtsz, (dtlb_slots_avail * PAGE_SIZE_4M) <<
|
||||||
(PAGE_SHIFT - TTE_SHIFT));
|
(PAGE_SHIFT - TTE_SHIFT));
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user