Page MenuHomeFreeBSD

arm64: Create an L3 table to limit permissions
Needs ReviewPublic

Authored by andrew on May 2 2024, 4:10 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Nov 10, 4:34 AM
Unknown Object (File)
Wed, Nov 6, 3:09 PM
Unknown Object (File)
Oct 17 2024, 12:43 PM
Unknown Object (File)
Oct 16 2024, 4:37 PM
Unknown Object (File)
Oct 16 2024, 3:10 PM
Unknown Object (File)
Oct 15 2024, 10:23 AM
Unknown Object (File)
Oct 14 2024, 9:59 AM
Unknown Object (File)
Oct 11 2024, 1:04 AM
Subscribers

Details

Reviewers
manu
kib
markj
alc
Group Reviewers
arm64
Summary

When building a 4k page kernel we use 2M blocks to map the kernel
contents. As the .text section may not end on a 2M aligned address
we need to split one block into level 3 pages and pad the end of the
section to an appropriate boundary.

With both these changes we can then mapjust the code as executable.
While here also map it as read-only as none ofthis shouldbe written
to directly.

Sponsored by: Arm Ltd

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 57546
Build 54434: arc lint + arc unit

Event Timeline

sys/arm64/arm64/locore.S
831

This seems to be missing commit 94b09d3 that sets ATTR_CONTIGUOUS. That is now going to matter for the 4KB base page size.