This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Make PMMIR_EL1 read-only.
ClosedPublic

Authored by simon_tatham on Apr 5 2022, 2:30 AM.

Details

Summary

The Arm architecture reference manual (ARM DDI 0487H.a section
D13.5.12) lists every field in the register as RO, and does not list
an MSR instruction that writes it. So we should be defining it as an
ROSysReg, not an RWSysReg.

Diff Detail

Event Timeline

simon_tatham created this revision.Apr 5 2022, 2:30 AM
Herald added a project: Restricted Project. · View Herald TranscriptApr 5 2022, 2:30 AM
simon_tatham requested review of this revision.Apr 5 2022, 2:30 AM
Herald added a project: Restricted Project. · View Herald TranscriptApr 5 2022, 2:30 AM
vhscampos added inline comments.Apr 5 2022, 2:38 AM
llvm/lib/Target/AArch64/AArch64SystemOperands.td
980–981

There's a section further up in the file just for read-only registers. I recommend you move PMMIR_EL1 there.

Oh yes, so there is. Moved the def.

vhscampos accepted this revision.Apr 5 2022, 2:56 AM

LGTM.

This revision is now accepted and ready to land.Apr 5 2022, 2:56 AM
This revision was landed with ongoing or failed builds.Apr 5 2022, 3:10 AM
This revision was automatically updated to reflect the committed changes.