Skip to content
STIMSMITH

QEMU

Tool

QEMU is an open-source machine emulator that uses dynamic binary translation and the Tiny Code Generator (TCG) as an architecture-agnostic intermediate representation. In the provided evidence, it appears both as a reusable emulator platform for generated instruction-set-simulator frontends from OpenVADL processor descriptions and as a high-performance RISC-V emulator instrumented with a Direct Instruction Injection interface for TestRIG-style verification.

First seen 5/27/2026
Last seen 6/7/2026
Evidence 16 chunks
Wiki v2

WIKI

Overview

QEMU is described in the OpenVADL evidence as an open-source machine emulator. The official GitHub mirror identifies the project as qemu/qemu, implemented primarily in C, and notes that pull requests are disabled on the mirror while contributions should follow the QEMU website process. [C1]

Dynamic translation architecture

READ FULL ARTICLE →

NEIGHBORHOOD

No graph connections found for this entity yet. It may appear in future ingestion runs.

explore full graph →

RELATIONSHIPS

22 connections
TestRIG ← uses 100% 7e
TestRIG added Direct Instruction Injection to QEMU to use it as a reference implementation.
CPU emulator implements → 100% 2e
QEMU implements the concept of a CPU emulator, capable of emulating an entire PC system.
RISC-V implements → 100% 2e
QEMU is a high-performance RISC-V emulator.
Testing CPU Emulators ← evaluates 100% 2e
The paper evaluates QEMU as one of four IA-32 emulators tested.
Examiner ← evaluates 100% 2e
Examiner evaluates QEMU by comparing its instruction execution results against real devices.
The paper uses QEMU as the primary emulator for differential testing experiments.
op_store_ri function ← part of 100% 2e
op_store_ri is a function in QEMU responsible for decoding the STR instruction.
Unicorn ← derived from 100% 1e
Unicorn is derived from QEMU, providing friendly APIs while focusing on CPU emulation only.
RVFI-DII implements → 95% 1e
QEMU has been extended with the Direct Instruction Injection interface for use with TestRIG.
NEMU ← compares with 95% 1e
NEMU achieves performance similar to QEMU through optimization techniques.
intermediate representation (IR) uses → 100% 1e
QEMU decodes instruction streams into intermediate representations before translating to host machine instructions.
RVFI-DII uses → 95% 1e
QEMU was extended with the Direct Instruction Injection interface to support TestRIG verification.
just-in-time translation implements → 85% 1e
QEMU uses just-in-time translation to execute emulated instructions.
whole-system emulator implements → 100% 1e
QEMU can operate as a whole-system emulator in addition to process emulation mode.
process emulator implements → 90% 1e
QEMU can also operate as a process emulator in addition to whole-system emulation.
TriforceAFL ← uses 90% 1e
TriforceAFL is a fuzzing tool that uses QEMU for full system emulation fuzzing.
FirmAFL ← uses 90% 1e
FirmAFL is a fuzzing tool that uses QEMU for CPU emulation.
Instruction Set Simulator implements → 95% 1e
QEMU is an open source machine emulator that implements an instruction set simulator.
Dynamic Binary Translation (DBT) implements → 100% 1e
QEMU implements dynamic binary translation as its core emulation technique.
Tiny Code Generator (TCG) uses → 100% 1e
QEMU uses TCG as its architecture-agnostic intermediate representation.
The paper introduces the approach of generating a QEMU-based ISS from an OpenVADL processor description.
RISC-V uses → 95% 1e
QEMU is used to simulate RISC-V, as demonstrated by the RISC-V frontend example.

CITATIONS

10 sources
10 citations — click to expand
[1] QEMU is an open-source machine emulator with an official GitHub mirror implemented primarily in C, and contributions are directed through the QEMU website rather than pull requests on the mirror. qemu/qemu
[2] QEMU uses dynamic binary translation, has a modular architecture, employs the architecture-agnostic TCG IR, and includes reusable infrastructure such as a GDB stub. Generation of a QEMU-Based Instruction Set Simulator from a Processor Description in OpenVADL
[3] The QEMU translation example shows a RISC-V frontend lowering guest instructions into TCG IR and an x86_64 backend emitting host code. Generation of a QEMU-Based Instruction Set Simulator from a Processor Description in OpenVADL
[4] The OpenVADL presentation is about generating a QEMU-based instruction set simulator, and its overview depicts a QEMU Simulator as an OpenVADL-generated artifact. Generation of a QEMU-Based Instruction Set Simulator from a Processor Description in OpenVADL
[5] OpenVADL generates QEMU frontends from VADL specifications by transforming VIAM, lowering it to TCG operations, generating C code, and producing a QEMU frontend. Generation of a QEMU-Based Instruction Set Simulator from a Processor Description in OpenVADL
[6] The slides show generated C code for a RISC-V 64 ADDI TCG translation function using TCG register access, constants, addition, and move operations. Generation of a QEMU-Based Instruction Set Simulator from a Processor Description in OpenVADL
[7] The OpenVADL evaluation reports Embench results for generated QEMU frontends and states that the generated frontend achieves up to 44% lower runtime than upstream. Generation of a QEMU-Based Instruction Set Simulator from a Processor Description in OpenVADL
[8] The TestRIG evidence states that the Direct Instruction Injection interface was added to QEMU and Spike, described as two high-performance emulators, as well as to the Sail RISC-V formal model. TestRIG RISC-V CPU testing evidence
[9] The TestRIG evidence frames the setup as comparison among executable formal models, software ISA simulators, and simulated hardware execution, requiring Direct Instruction Injection during tandem verification. TestRIG RISC-V CPU testing evidence
[10] The TestRIG ecosystem figure describes a Verification Engine that injects instruction sequences and compares execution traces until it finds a divergence. TestRIG RISC-V CPU testing evidence