moea64_insert_pteg_native()'s invalidation only works by happenstance.
The purpose of the shifts and XORs is to extract the VSID in order to
reverse-engineer the lower bits of the VPN. Currently a segment size is 256MB
(2**28), and ADDR_API_SHFT64 is 16, so ADDR_PIDX_SHIFT is equivalent. However,
it's semantically incorrect, in that we don't want to shift by the page shift
size, we want to shift to get to the VSID.
Details
Details
- Reviewers
nwhitehorn - Commits
- rS348490: powerpc/moea: Fix moea64 native VA invalidation
Diff Detail
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
sys/powerpc/aim/moea64_native.c | ||
---|---|---|
652 ↗ | (On Diff #58058) | Woops, this mask should be right shifted by ADDR_PIDX_SHIFT |