diff options
| author | Bojan Novković <bnovkov@FreeBSD.org> | 2026-09-27 18:25:22 +0000 |
|---|---|---|
| committer | Bojan Novković <bnovkov@FreeBSD.org> | 2026-10-10 12:34:57 +0000 |
| commit | f627ff51b76c728b8c6c4a7e5490ce3803c562ad (patch) | |
| tree | bfe89b3c008a9516628c1c961630f6d32d3569e6 /tests/data/scripts | |
| parent | 05c49e2aa6439820f8f4d5bbf19634f84f6bad5a (diff) | |
The pm_active bitmask is indexed by hart IDs which can differ from
CPU IDs. `pmap_invalidate_range_svinval` assumes that the map is
indexed by CPU IDs, which is wrong and causes remote TLB invalidations
on unrelated CPUs.
Fix this by adding a routine that converts a hart-indexed bitmask
to a CPU ID-indexed bitmask. While we're here, fix a similar issue
in `pmap_active_cpus`.
Fixes: 99360212c739 ("riscv/pmap.c: Add an Svinval-aware variant of pmap_invalidate_range")
Reported by: markj
Reviewed by: markj, mhorne
Differential Revision: https://reviews.freebsd.org/D60072
Diffstat (limited to 'tests/data/scripts')
0 files changed, 0 insertions, 0 deletions
