You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
AArch32 defines an mrc instruction (Move Register to Coprocessor) which has many different uses, depending on which coprocessor is specified. Among other things, mrc can be used to access thread-local state. For a more complete writeup on how mrc can be used, refer to a reference manual for a specific ARM CPU (e.g., for Cortex-A7).
Unfortunately, asl-translator's semantics for the mrc instruction (Move Register to Coprocessor) are incomplete. This is because mrc is defined in terms of the AArch32.SysRegRead primitive, but that is simply defined as:
This simply returns zeroes, which is almost certainly not going to behave like one would expect it to.
Defining the full semantics for mrc will likely be a lot of work, as there are many different ARM coprocessor flavors out there. We may want to add support for a single coprocessor at a time as the need arises.
The text was updated successfully, but these errors were encountered:
AArch32 defines an
mrc
instruction (Move Register to Coprocessor) which has many different uses, depending on which coprocessor is specified. Among other things,mrc
can be used to access thread-local state. For a more complete writeup on howmrc
can be used, refer to a reference manual for a specific ARM CPU (e.g., for Cortex-A7).Unfortunately,
asl-translator
's semantics for themrc
instruction (Move Register to Coprocessor) are incomplete. This is becausemrc
is defined in terms of theAArch32.SysRegRead
primitive, but that is simply defined as:asl-translator/data/support.asl
Lines 644 to 646 in f4a89de
This simply returns zeroes, which is almost certainly not going to behave like one would expect it to.
Defining the full semantics for
mrc
will likely be a lot of work, as there are many different ARM coprocessor flavors out there. We may want to add support for a single coprocessor at a time as the need arises.The text was updated successfully, but these errors were encountered: