eden-miror/docs/dynarmic
crueter 972860ac8f
[dist] reoptimize assets, and add svg optimization (#4537)
Co-authored-by: GreenStar <145512144+thegreatGreenstar@users.noreply.github.com>
Signed-off-by: crueter <crueter@eden-emu.dev>

- [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions).
- [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md).
- [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability.

-------------------

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4537
2026-11-01 21:45:45 +01:00
..
Design.md [docs] Various grammar fixes, fix dead links, update deps.md, merge RDOC into Debug.md (#4315) 2026-09-01 06:45:47 +02:00
Fastmem.svg [dist] reoptimize assets, and add svg optimization (#4537) 2026-11-01 21:45:45 +01:00
HostToGuest.svg [dist] reoptimize assets, and add svg optimization (#4537) 2026-11-01 21:45:45 +01:00
README.md [docs] Various grammar fixes, fix dead links, update deps.md, merge RDOC into Debug.md (#4315) 2026-09-01 06:45:47 +02:00

Dynarmic

A dynamic recompiler for ARM.

Note that an adversarial guest program can determine if it's being ran under Dynarmic. Preventing this is not a goal of this project.

Cortex-A57 (32 and 64 bit) is the emulated guest target. See ArchVersion.

The only supported host architectures are x86-64, and AArch64. There are no plans to support any 32-bit architectures.

See an example usage.

Design documentation can be found at ./Design.md.

Alternatives to Dynarmic

Here are some projects with the same goals as Dynarmic:

  • Unicorn - Recompiling multi-architecture CPU emulator, based on QEMU
  • SkyEye - Cached interpreter for ARM

More general alternatives:

  • tARMac - Tarmac's use of armlets was initial inspiration for us to use an intermediate representation
  • QEMU - Recompiling multi-architecture system emulator
  • VisUAL - Visual ARM UAL emulator intended for education
  • A wide variety of other recompilers, interpreters and emulators can be found embedded in other projects, here are some we would recommend looking at:

Disadvantages of Dynarmic

In the pursuit of speed, some behavior not commonly depended upon is elided. Hence this emulator doesn't match spec. Note that this would mean that a guest application can easily determine if it's being ran under instrumentation.

Known examples:

  • Only user-mode is emulated, there is no emulation of any other privilege levels.
  • FPSR state is approximate.
  • Misaligned loads/stores are not appropriately trapped in certain cases.
  • Exclusive monitor behavior may not match any known physical processor.

No formal verification has been done, and no security assessment has been made. Use this code base at your own risk.

Dynarmic is under a GPLv3 license, check the relevant file headers for more information.

Dynarmic uses several open-source libraries, whose licenses are included inside thereof.