Page MenuHomeFreeBSD

arm64: Make L1_BLOCKS_SUPPORTED dynamic
ClosedPublic

Authored by andrew on Aug 21 2024, 12:16 PM.
Tags
None
Referenced Files
F101978239: D46395.diff
Wed, Nov 6, 2:16 AM
Unknown Object (File)
Wed, Oct 16, 7:48 AM
Unknown Object (File)
Wed, Oct 9, 1:22 AM
Unknown Object (File)
Tue, Oct 8, 2:09 PM
Unknown Object (File)
Sep 30 2024, 4:11 AM
Unknown Object (File)
Sep 28 2024, 9:33 AM
Unknown Object (File)
Sep 27 2024, 9:21 AM
Unknown Object (File)
Sep 25 2024, 3:39 AM
Subscribers

Details

Summary

When FEAT_LPA2 is implemented and the TCR_EL1.DS field is set we can
create blocks at level 1 with a 16kB page size. Add a variable to
tell the kernel this is enabled.

This will be used by other parts of pmap.c with a 4k page kernel so
make it visible there.

Sponsored by: Arm Ltd

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

markj added inline comments.
sys/arm64/arm64/pmap.c
1693

Maybe blocks_supported would be a better name.

This revision is now accepted and ready to land.Aug 22 2024, 3:32 PM
sys/arm64/arm64/pmap.c
369

Should both vars have __read_mostly annotation?

alc added inline comments.
sys/arm64/arm64/pmap.c
1693

I don't think that the blocks_ prefix is necessary. The other counter under the same sysctl node is about blocks too. In general, any of these sysctl nodes not ending in c, e.g., pmap.l1, pmap.l2, are about block mappings.

This revision now requires review to proceed.Sep 10 2024, 1:01 PM
This revision is now accepted and ready to land.Sep 10 2024, 2:12 PM
This revision was automatically updated to reflect the committed changes.