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

[ARM] Handle system operands in way more detail. #2122

Merged
merged 4 commits into from
Jul 24, 2023

Conversation

Rot127
Copy link
Collaborator

@Rot127 Rot127 commented Jul 23, 2023

  • Differentiates between banked and non-banked registers.
  • Saves the MSR mask.
  • PSR field bits are saved separately (not for APSR yet).
  • SYSm value is saved if possible.

@Rot127 Rot127 marked this pull request as draft July 23, 2023 15:17
Rot127 added a commit to Rot127/rizin that referenced this pull request Jul 23, 2023
- Differentiates between banked and non-banked registers.
- Saves the MSR mask.
- PSR field bits are saved separately.
- SYSm value is saved if possible.
@Rot127 Rot127 marked this pull request as ready for review July 24, 2023 07:53
@kabeor
Copy link
Member

kabeor commented Jul 24, 2023

Thank you! Merged.

@kabeor kabeor merged commit 8e4d993 into capstone-engine:next Jul 24, 2023
Rot127 added a commit to Rot127/rizin that referenced this pull request Sep 8, 2023
Rot127 added a commit to Rot127/rizin that referenced this pull request Sep 8, 2023
Rot127 added a commit to Rot127/rizin that referenced this pull request Sep 25, 2023
Rot127 added a commit to Rot127/rizin that referenced this pull request Oct 11, 2023
wargio pushed a commit to rizinorg/rizin that referenced this pull request Oct 18, 2023
ARM
- Updated ARM identifiers and API changes.
- Fixed shift amounts to be always decimal.
- Fixed incorrect usages of memory disponents.
- Fixed restoring of condition codes.
- Updated IDs for new ones.
- Fixed 8-byte stores.
- Added flag checking for MOV with shifts.
Capstone Integration
- Removed capstone-auto-sync subproject and replaced with next.
- Checked for NEON features.
- Used capstone-engine/capstone#2122 for better system operand support.
- Distinguished between 32 and 64-bit cc checks.
- Checked for CS API version >5.
- Checked for CS_NEXT_VERSION instead of CS_API_MAJOR.
- Fixed VSTn and VLDn instructions to use corrected memory operands.
- Excluded multiple instruction aliases that are no longer valid IDs.
- Used CS_NEXT_VERSION as include guard.
- Added CS v6 include guards.
- Added CS v6 support to branch conditions for Rzil.
- Added more CSv6 guards.
PPC
- Fixed: Compare instructions do not use the branch predicate.
- Fixed conditional and CTR checks.
- Fixed MTSPR and MFSPR instructions.
- Excluded more branch aliases no longer present in v6 from switch cases.
- Fixed incorrectly assigned variables.
- Fixed condition checks for branches.
- Used ITE for condition checks, to prevent unnecessary reads of CTR or CR.
- Fixed rzil tests with new semantics using register 0.
- Updated include guards for Capstone versions to use CS_NEXT_VERSION.
- Initialized spr_name to prevent uninitialized use.
- Used mem.offset register for CSv6.
- Always used real operand details.
- Used mem operand for DCBZ.
- Fixed tests that are semantically identical.
- Handled LI LIS alias.
- Fixed rzil tests (with simplified semantics).
- Fixed branch alias with new cond test method.
- Handled clrl. alias.
- Handled SL/SR alias.
- Fixed conditional branches in ESIL.
- Fixed possible multiplication result overflow.
- Added RZ_NONNULL.
- Added 0 register.
- Handled LIS alias.
- Fixed: Print crX reg name in CS v6.
- Handled all general branch instructions into a single case statement.
- Fixed no semantic issues in tests.
- Added newly discovered calls.
- Moved direction check to inline function.
- Added link of root cause for broken test.
- Added QPX support.
- Set Capstone next branch to latest commit.
- Fixed uninitialized warning.
- Set CS next branch to newest commit.
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

Successfully merging this pull request may close these issues.

2 participants