Page MenuHomeFreeBSD

arm64: Reduce where we decode msr/mrs instructions
ClosedPublic

Authored by andrew on May 6 2025, 5:05 PM.
Tags
None
Referenced Files
F174373746: D50214.id157445.diff
Fri, Oct 2, 6:43 PM
Unknown Object (File)
Wed, Sep 30, 7:33 PM
Unknown Object (File)
Wed, Sep 30, 8:33 AM
Unknown Object (File)
Sat, Sep 26, 3:29 PM
Unknown Object (File)
Fri, Sep 25, 12:34 PM
Unknown Object (File)
Wed, Sep 23, 7:38 AM
Unknown Object (File)
Wed, Sep 23, 4:08 AM
Unknown Object (File)
Tue, Sep 22, 10:45 AM
Subscribers

Details

Summary

We only use the mrs_Op* and mrs_CR* functions and MRS_* macros when
handling userspace executing a msr/msr instruction.

Move the macros to where they are used and expand the functions to
just use the macros directly.

While here update MRS_Op0_MASK to include bit 20 as this will cause
the correct op0 value to be calculated for all instructions we decode.

Sponsored by: Arm Ltd

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

andrew requested review of this revision.May 6 2025, 5:05 PM
This revision is now accepted and ready to land.May 9 2025, 3:30 PM

Rebase on D50906 to move all MRS_ macros to undefined.c

This revision now requires review to proceed.Jun 17 2025, 1:26 PM
This revision was not accepted when it landed; it landed in state Needs Review.Jun 23 2025, 12:08 PM
This revision was automatically updated to reflect the committed changes.