From d741ca6bdba290b577d381b413b10693604cd266 Mon Sep 17 00:00:00 2001 From: Jake Burkholder Date: Fri, 3 Aug 2001 01:21:24 +0000 Subject: Fix a bug translating virtual translation table entry addresses to physical addresses. It helps to use the physical address that the virtual address actually maps to (doh!). Comment out some code that crashes. Found independently by: tmm --- sys/sparc64/include/tsb.h | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'sys/sparc64/include/tsb.h') diff --git a/sys/sparc64/include/tsb.h b/sys/sparc64/include/tsb.h index 5bc46cf8e020..917121b880d2 100644 --- a/sys/sparc64/include/tsb.h +++ b/sys/sparc64/include/tsb.h @@ -138,8 +138,7 @@ tsb_stte_vtophys(pmap_t pm, struct stte *stp) va = (vm_offset_t)stp; if (pm == kernel_pmap) - return (tsb_kernel_phys + - ((va - TSB_KERNEL_MIN_ADDRESS) << STTE_SHIFT)); + return (tsb_kernel_phys + (va - TSB_KERNEL_MIN_ADDRESS)); if (trunc_page(va) == TSB_USER_MIN_ADDRESS) data = pm->pm_stte.st_tte.tte_data; @@ -185,7 +184,7 @@ tsb_tte_enter_kernel(vm_offset_t va, struct tte tte) stp = tsb_kvtostte(va); stp->st_tte = tte; -#if 1 +#if 0 pv_insert(kernel_pmap, TD_PA(tte.tte_data), va, stp); #endif } @@ -197,7 +196,7 @@ tsb_remove_kernel(vm_offset_t va) stp = tsb_kvtostte(va); tte_invalidate(&stp->st_tte); -#if 1 +#if 0 pv_remove_virt(stp); #endif } -- cgit v1.2.3