Page MenuHomeFreeBSD

arm64: mte: userspace configuration of MTE via sysarch() system call
Needs ReviewPublic

Authored by andrew on Thu, Mar 19, 4:07 PM.
Tags
None
Referenced Files
F149402376: D55958.diff
Tue, Mar 24, 5:36 AM
F149342929: D55958.diff
Mon, Mar 23, 9:25 PM
Unknown Object (File)
Mon, Mar 23, 1:03 AM
Unknown Object (File)
Sun, Mar 22, 4:49 AM
Unknown Object (File)
Sat, Mar 21, 10:53 AM
Subscribers

Details

Reviewers
manu
Group Reviewers
arm64
Summary

Introduce two new sysarch options to allow for userspace configuration
of MTE: ARM64_MEMORY_TAG and ARM64_MTE_CTRL.

ARM64_MTE_CTRL allows for userspace configuration of MTE for a process,
including setting the Tag Check Fault and Allocation Access bits in
SCTLR_EL1 to control whether accesses to tagged memory cause an
exception on a tag check fault, and whether that exception is raised
synchronously or asynchronously.

ARM64_MEMORY_TAG is used to tag the pages in a given memory range by
changing their memory attributes. The arguments for this are the same as
the sysarch BTI option, so the arm64_guard_page_args struct has been
renamed to arm64_memory_args.

Sponsored by: Arm Ltd
Signed-off-by: Harry Moulton <harry.moulton@arm.com>
Co-authored-by: Andrew Turner <andrew@FreeBSD.org>

Diff Detail

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