Skip to content
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

Memory decoding #89

Open
BugraEryilmaz opened this issue Nov 26, 2024 · 2 comments
Open

Memory decoding #89

BugraEryilmaz opened this issue Nov 26, 2024 · 2 comments
Assignees

Comments

@BugraEryilmaz
Copy link
Contributor

Description
There are a couple problematic cases for memory decoding. Namely prefetch instruction with register offset and atomic load stores (ldxr)

Expected Behavior
Prefetch instruction should be decoded as nop and ldxr register should be decoded with blackbox as it is not implemented.

Actual Behavior
They are decoded as normal load store instructions.

@BugraEryilmaz BugraEryilmaz self-assigned this Nov 26, 2024
@BugraEryilmaz
Copy link
Contributor Author

Fix: c72dcb5

branylagaffe pushed a commit that referenced this issue Nov 28, 2024
*Description*
There are a couple problematic cases for memory decoding. Namely
prefetch instruction with register offset and atomic load stores (ldxr)

*Expected Behavior*
Prefetch instruction should be decoded as nop and ldxr register should
be decoded with blackbox as it is not implemented.

*Actual Behavior*
They are decoded as normal load store instructions.
@BugraEryilmaz
Copy link
Contributor Author

The LDTR instruction was not decoded properly. It is a normal load with a signed offset, so everything is already implemented for it; we just need to check the opcode to set the offset type properly. (same for STTR btw)
Fix: 8e416b4

Deep note: What is the purpose of this instruction? ARM manual says it allows higher exception levels to read lower exception level data. But a normal load cannot do that?

branylagaffe pushed a commit that referenced this issue Dec 18, 2024
*Description*
There are a couple problematic cases for memory decoding. Namely
prefetch instruction with register offset and atomic load stores (ldxr)

*Expected Behavior*
Prefetch instruction should be decoded as nop and ldxr register should
be decoded with blackbox as it is not implemented.

*Actual Behavior*
They are decoded as normal load store instructions.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant