Page MenuHomeFreeBSD

arm64: Make L1_BLOCKS_SUPPORTED dynamic
ClosedPublic

Authored by andrew on Aug 21 2024, 12:16 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Nov 14, 4:48 PM
Unknown Object (File)
Wed, Nov 13, 3:26 AM
Unknown Object (File)
Tue, Nov 12, 5:07 PM
Unknown Object (File)
Mon, Nov 11, 4:01 AM
Unknown Object (File)
Sat, Nov 9, 9:18 PM
Unknown Object (File)
Thu, Nov 7, 2:43 AM
Unknown Object (File)
Wed, Nov 6, 11:54 PM
Unknown Object (File)
Wed, Nov 6, 2:16 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.