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, Dec 15, 5:54 PM
Unknown Object (File)
Nov 24 2024, 2:59 AM
Unknown Object (File)
Nov 21 2024, 6:45 AM
Unknown Object (File)
Nov 20 2024, 11:02 PM
Unknown Object (File)
Nov 19 2024, 6:32 AM
Unknown Object (File)
Nov 10 2024, 4:34 AM
Unknown Object (File)
Nov 6 2024, 3:09 PM
Unknown Object (File)
Oct 17 2024, 12:43 PM
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.