
A repository of SLEIGH support for rare processor ISAs
Ghidra processor modules (SLEIGH) for uncommon CPU, DSP and GPU architectures. Target: Ghidra 12.1.4.
This project brings to Ghidra the set of architectures covered by Mr-wolf-is-me/IDA-Processor-Modules, a collection of IDA Pro processor modules. Each module here is the Ghidra counterpart of one of the IDA modules listed there.
| Module | Architecture | Language IDs | Original IDA module |
|---|---|---|---|
| PRU | TI PRU / PRU-ICSS, core revisions V0–V4 | PRU:LE:32:v0 … PRU:LE:32:v4 | pru-ida |
| MicroBlaze | AMD/Xilinx MicroBlaze, 32/64-bit, BE/LE | MicroBlaze:{BE,LE}:{32,64}:default | microblaze-ida |
| xCORE | XMOS xCORE XS1, XS2 (xCORE-200), XS3 (xcore.ai) | xCORE:LE:32:XS1, XS2, XS3 | xcore-ida |
| C7x | TI C7000 DSP (C7100, C7120, C7504, C7524) | C7x:LE:64:C7100, C7120, C7504, C7524 | c7x-ida |
| SASS | NVIDIA GPU SASS, Kepler through Blackwell | SASS:LE:64:SM35, SM52, SM60, SM70, SM75, SM80, SM86, SM89, SM90, SM100, SM120 | sass-ida |
Each module's README lists its language variants, how closely it matches the reference disassembler, what the p-code models, known gaps and how to run its tests. STATUS.md tracks what works and what doesn't across all modules, plus lessons learned.
The IDA modules are distributed as release zips under terms that forbid derivative works; the repositories themselves hold only READMEs, licenses and screenshots. This project is an independent, clean-room implementation, not a port of that code:
dispru/dis7x, GNU binutils, LLVM, NVIDIA nvdisasm).Credit for the idea and for choosing these architectures goes to the author of IDA-Processor-Modules.
Each module directory is a standard Ghidra extension.
Prebuilt zips: the Release builds workflow builds every
module for the three newest Ghidra releases. Each v* tag publishes the zips on the
Releases page; other pushes keep them as
workflow artifacts. A zip only installs into the Ghidra version in its name.
Build the extension zips yourself:
tools/build-release.sh /opt/ghidra_12.1.4_PUBLIC dist # one zip per module in dist/
The script compiles the SLEIGH specs with that Ghidra's compiler and builds each module with the
Gradle wrapper Ghidra ships in support/gradle. PRU, MicroBlaze and SASS include Java code (ELF
loader extensions), so the build needs a full JDK with javac (a JRE-only package is not
enough): JDK 21 or newer for Ghidra 12.1, JDK 25 for Ghidra 12.2. Point JAVA_HOME at it.
Install the zip via File → Install Extensions in Ghidra, then restart Ghidra.
For development, symlink every module into a Ghidra install and compile the SLEIGH specs:
export GHIDRA_INSTALL_DIR=/opt/ghidra_12.1.4_PUBLIC
tools/link-modules.sh
for d in */data/languages; do "$GHIDRA_INSTALL_DIR/support/sleigh" -a "$d"; done
tools/ghidra-dis.sh <language-id> <raw.bin> prints a headless linear-sweep disassembly of a
raw binary, which is useful for quick checks.
MIT. This license covers only the code in this repository. It does not cover the original IDA modules, which have their own terms.