Page MenuHomeFreeBSD

arm64: Support changing the DMAP memory type
Needs ReviewPublic

Authored by andrew on Thu, Mar 19, 4:05 PM.
Tags
None
Referenced Files
F149525648: D55949.diff
Wed, Mar 25, 12:51 AM
Unknown Object (File)
Tue, Mar 24, 7:16 AM
Unknown Object (File)
Tue, Mar 24, 5:45 AM
Unknown Object (File)
Tue, Mar 24, 4:03 AM
Unknown Object (File)
Tue, Mar 24, 1:50 AM
Unknown Object (File)
Sun, Mar 22, 11:25 PM
Unknown Object (File)
Sat, Mar 21, 11:31 AM
Subscribers

Details

Reviewers
manu
alc
kib
markj
Group Reviewers
arm64
Summary

When MTE is enabled we will use the DMAP to manage tags. To be able to
read/write them we need to change the memory attribute to
VM_MEMATTR_TAGGED.

Support changing the DMAP memory type to values known to have
equivalent cache properties.

Sponsored by: Arm Ltd

Diff Detail

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

Event Timeline

sys/arm64/arm64/pmap.c
8310

Please update this comment.

8438

Can the comment please explain why this is necessary?

8450

Suppose we update a range with mode == VM_MEMATTR_WRITE_BACK, and dmap_attr != VM_MEMATTR_WRITE_BACK. Then, a subsequent update of the same range with old_mode == VM_MEMATTR_WRITE_BACK will not update the DMAP entries, which seems like a bug.