Page MenuHomeFreeBSD

D26607.id78031.diff
No OneTemporary

D26607.id78031.diff

Index: sys/riscv/riscv/pmap.c
===================================================================
--- sys/riscv/riscv/pmap.c
+++ sys/riscv/riscv/pmap.c
@@ -341,6 +341,8 @@
#define PTE_TO_PHYS(pte) \
((((pte) & ~PTE_HI_MASK) >> PTE_PPN0_S) * PAGE_SIZE)
+#define L2PTE_TO_PHYS(l2) \
+ ((((l2) & ~PTE_HI_MASK) >> PTE_PPN1_S) << L2_SHIFT)
static __inline pd_entry_t *
pmap_l1(pmap_t pmap, vm_offset_t va)
@@ -476,7 +478,7 @@
("Invalid bootstrap L2 table"));
/* L2 is superpages */
- ret = (l2[l2_slot] >> PTE_PPN1_S) << L2_SHIFT;
+ ret = L2PTE_TO_PHYS(l2[l2_slot]);
ret += (va & L2_OFFSET);
return (ret);
@@ -824,7 +826,7 @@
}
} else {
/* L2 is superpages */
- pa = (l2 >> PTE_PPN1_S) << L2_SHIFT;
+ pa = L2PTE_TO_PHYS(l2);
pa |= (va & L2_OFFSET);
}
}
@@ -876,7 +878,7 @@
panic("pmap_kextract: No l2");
if ((pmap_load(l2) & PTE_RX) != 0) {
/* superpages */
- pa = (pmap_load(l2) >> PTE_PPN1_S) << L2_SHIFT;
+ pa = L2PTE_TO_PHYS(pmap_load(l2));
pa |= (va & L2_OFFSET);
return (pa);
}

File Metadata

Mime Type
text/plain
Expires
Sat, Apr 18, 10:07 AM (8 h, 19 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31712666
Default Alt Text
D26607.id78031.diff (1 KB)

Event Timeline