Page MenuHomeFreeBSD

Add a PC_IS_FULL macro to the arm64 pmap
ClosedPublic

Authored by andrew on Aug 16 2022, 3:45 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Nov 3, 9:25 PM
Unknown Object (File)
Mon, Nov 3, 9:24 PM
Unknown Object (File)
Mon, Nov 3, 9:22 PM
Unknown Object (File)
Thu, Oct 30, 8:17 PM
Unknown Object (File)
Fri, Oct 24, 6:44 PM
Unknown Object (File)
Sat, Oct 18, 11:14 PM
Unknown Object (File)
Sat, Oct 18, 3:29 AM
Unknown Object (File)
Oct 11 2025, 7:53 AM
Subscribers

Details

Reviewers
jhb
kib
markj
alc
manu
Group Reviewers
arm64
Summary

This is used to handle the difference in size of pc_map between
4k and 16k pages.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 46956
Build 43845: arc lint + arc unit

Event Timeline

markj added inline comments.
sys/arm64/arm64/pmap.c
2479
This revision is now accepted and ready to land.Aug 16 2022, 4:16 PM

So I started with this locally and ended up adding some different variants. I meant to push them for review yet but haven't. In particular, the versions I have are still able to be unrolled in the case of 16k pages and by using constants can do less loads from memory. I'll upload the set of changes I have in a bit. They are also useful in CheriBSD where we have to have yet another set of constants for _N* for purecap kernels, so I tried to minimize the special cases for differing values of _N*.

Uploaded to D36217 and a followup change to pc_is_free in D36218.

Is this change still useful?

Supplanted by the two reviews noted earlier.