Page MenuHomeFreeBSD

D33583.id100335.diff
No OneTemporary

D33583.id100335.diff

Index: sys/arm64/arm64/pmap.c
===================================================================
--- sys/arm64/arm64/pmap.c
+++ sys/arm64/arm64/pmap.c
@@ -557,14 +557,17 @@
static __inline pt_entry_t *
pmap_pte(pmap_t pmap, vm_offset_t va, int *level)
{
- pd_entry_t *l1, *l2, desc;
+ pd_entry_t *l0, *l1, *l2, desc;
pt_entry_t *l3;
- l1 = pmap_l1(pmap, va);
- if (l1 == NULL) {
+ l0 = pmap_l0(pmap, va);
+ desc = pmap_load(l0) & ATTR_DESCR_MASK;
+ if (desc != L0_TABLE) {
*level = 0;
return (NULL);
}
+
+ l1 = pmap_l0_to_l1(l0, va);
desc = pmap_load(l1) & ATTR_DESCR_MASK;
if (desc == L1_BLOCK) {
*level = 1;

File Metadata

Mime Type
text/plain
Expires
Mon, Sep 7, 10:50 PM (5 h, 42 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
38490876
Default Alt Text
D33583.id100335.diff (633 B)

Event Timeline