rizinorg / ideas

Features that would be nice to have but they are not in the roadmap
3 stars 0 forks source link

Elbrus (E2k) architecture support #17

Open XVilka opened 3 years ago

XVilka commented 3 years ago

The Elbrus 2000, E2K (Russian: Эльбрус 2000) is a Russian 512-bit wide VLIW microprocessor developed by Moscow Center of SPARC Technologies (MCST) and fabricated by TSMC.

image

It supports two instruction set architectures (ISA):

elbrus_prog_2020-05-30.pdf

https://github.com/nrdmn/elbrus-docs

There is a QEMU-based emulator: https://git.mentality.rip/OpenE2K/qemu-e2k Binutils: https://git.mentality.rip/OpenE2K/binutils-gdb Linux Kernel: https://git.mentality.rip/OpenE2K/linux

More sources at https://github.com/free-src/free-src

A major challenge would be the instruction addressing - they can start and end not with the byte-level offset, can be in the middle of it.

XVilka commented 1 year ago

@evm-sec saw your research on Elbrus; just in case you would want to implement this for Rizin and Cutter, it might be possible by using the disassembler from binutils, like these plugins did: