Page MenuHomeFreeBSD

Add a PC_IS_FULL macro to the arm64 pmap
AcceptedPublic

Authored by andrew on Aug 16 2022, 3:45 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Apr 22, 8:44 AM
Unknown Object (File)
Mon, Apr 22, 8:34 AM
Unknown Object (File)
Dec 22 2023, 11:42 PM
Unknown Object (File)
Dec 15 2023, 4:36 AM
Unknown Object (File)
Mar 22 2023, 6:37 PM
Unknown Object (File)
Mar 5 2023, 5:54 PM
Unknown Object (File)
Jan 2 2023, 3:29 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.