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)
Fri, May 17, 2:00 PM
Unknown Object (File)
Wed, May 8, 8:37 AM
Unknown Object (File)
Wed, May 8, 8:33 AM
Unknown Object (File)
Wed, May 8, 5:23 AM
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
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.