Page MenuHomeFreeBSD

D61390.1794416373.diff
No OneTemporary

Authored By
Unknown
Size
1 KB
Referenced Files
None
Subscribers
None

D61390.1794416373.diff

diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c
--- a/sys/arm64/arm64/pmap.c
+++ b/sys/arm64/arm64/pmap.c
@@ -538,8 +538,7 @@
#define TLBI_RANGE_FIELDS(va, va_shift, num, scale, ttl) \
(TLBI_RANGE_TG | ((u_long)(scale) << TLBI_RANGE_SCALE_SHIFT) | \
- ((u_long)(num) << TLBI_RANGE_NUM_SHIFT) | \
- (pmap_ttl_support ? TLBI_RANGE_TTL(ttl) : 0) | \
+ ((u_long)(num) << TLBI_RANGE_NUM_SHIFT) | TLBI_RANGE_TTL(ttl) | \
(((va) >> (va_shift)) & TLBI_RANGE_BADDR_MASK))
static bool __read_frequently pmap_tlbi_range_support = false;
@@ -2230,7 +2229,7 @@
int va_shift, vm_offset_t va_mask, uint64_t asid, bool kernel,
bool final_only, int ttl)
{
- uint64_t units;
+ uint64_t r, units;
vm_size_t pages;
int scale, unit_shift;
@@ -2254,12 +2253,13 @@
continue;
}
}
+ r = asid | TLBI_VA(va);
+ if (pmap_ttl_support)
+ r |= TLBI_VA_TTL(ttl);
if (kernel)
- pmap_s1_invalidate_kernel(asid | TLBI_VA(va),
- final_only);
+ pmap_s1_invalidate_kernel(r, final_only);
else
- pmap_s1_invalidate_user(asid | TLBI_VA(va),
- final_only);
+ pmap_s1_invalidate_user(r, final_only);
va += stride;
}
}

File Metadata

Mime Type
text/plain
Expires
Wed, Nov 11, 4:59 PM (8 s ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
41660540
Default Alt Text
D61390.1794416373.diff (1 KB)

Event Timeline