-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ARM32 Cortex A9 MRRC instruction UC_ERR_INSN_INVALID #1954
Comments
I just built the dev branch (2.0.2 - c39e802) and re-ran, but received the same error. |
Thanks for the reproduction, I will have a look. |
I think it is correctly reported as invalid instruction and therefore not a bug. Please refer to Cortex-A documentation https://developer.arm.com/documentation/den0013/d/ARM-Processor-Modes-and-Registers/Registers/Coprocessor-15 |
I did some digging on this subject, and it seems that ARMv7-A added something calle LPAE (Large Physical Address Extension) to support >4GB of ram. In doing so, it seems like there are one or more 64-bit coprocessor registers that were added:
|
Yes there are 64bit registers with LPAE (TTBR0 TTBR1 and PAR). If I change the architecture to Cortex-A15 and try for example PAR register |
Hello,
I've come across an issue with unicorn treating the following instruction as invalid:
the arm documentation describes this instruction as reading a coprocessor register into 2 normal registers: https://developer.arm.com/documentation/dui0489/h/arm-and-thumb-instructions/mrc--mrc2--mrrc-and-mrrc2
Below is an example script which demonstrates this behavior:
And the output:
Please let me know if you'd like additional information,
Thank you
The text was updated successfully, but these errors were encountered: