DynamoRIO / DynamoRIO/dynamorio

AArch64 decoder/encoder improvements

Open
#4,393 1 comment 0 reactions 0 assignees View on GitHub
Component-IR Google-Affecting OpSys-AArch64 Priority-Low
Dominant language
C
Stars
3.2k
Forks
629
Avg merge
2d 15h
Merged PRs (30d)
31

Description

The current method of generating decode/encode functions based on the `codec.txt` bitmap format has limitations in terms of:
- Flexibility when specifying instruction aliases and variants, e.g. `DC` and `IC` based on `SYS`, and `PRFM`. See #4388 and discussion at https://github.com/DynamoRIO/dynamorio/pull/4386#discussion_r462356954.
- Extensibility when new versions of the ISA are released, e.g. SVE.
- More automation in order to generate as much decode/encode logic as possible from an ISA spec, including multiple operand creation from a single bitfield.

The proposal is to use the publicly available XML specifications to replace `codec.txt` as the source from which to generate decode/encode functionality. Useful links:
https://alastairreid.github.io/ARM-v8a-xml-release/
https://developer.arm.com/architectures/instruction-sets/base-isas/a64
https://github.com/alastairreid/mra_tools

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.