TEMU 5.0.0

TEMU 5.0.0 was released on 2026-06-26.

TEMU 5.0.0 is a feature release.

Features

TEMU 5 is a major feature release it includes the following major features:

  • Multi-level scheduler with multi-threaded determinism The single-level scheduler from TEMU 4 is still there. Except for the number of synchronization levels, the MLS supports reverse execution, while the SLS does not.

  • SPARCv8 Processor Models

    • LEON5 Model

  • RISC-V Processor Models

    • NOEL-V Model (64-bit configuration)

      • Experimental virtualization for RISC-V on patched host kernels

  • Several Additional Models

    • Buses

      • I2C bus model and interfaces

      • New SPI-bus model and interfaces

      • SpaceFibre model and interfaces

    • Controllers

      • APBUART16550

      • LEON5 CPU-to-CPU interface

      • GRCANFD

      • GRSPFI

      • GRLIB I2CMST

      • GRLIB SPICTRL

      • Experimental SOCBRIDGE model

  • Improved documentation and introspection for existing models through the new register API.

  • Support for the TCF protocol. TEMU now implements the TCF protocol, although support for third party TCF clients is currently not tested.

  • Graphical Systems Debugger. A graphical application communicating with TEMU over TCF is now available. The debugger is focused on debugging systems of applications, but can also handle separate independent apps as well.

  • OS-Awareness. TEMU comes with an OS-awareness framework currently supporting the following operating systems:

  • Complex breakpoints allowing breakpoints to fire based on additional conditions like the current thread/application.

  • Experimental Model-Context Protocol server implementation.

    • Bare Metal

      • SPARCv8

      • PowerPC

      • RISC-V

    • RTEMS

      • SPARCv8

      • RISC-V

    • Linux

      • SPARCv8

      • RISC-V

    • XNG

      • SPARCv8

  • Reverse Execution. It is possible to use the System Debugger to control TEMU and run backwards in time.

  • Project Support TEMU now has a project mechanism, a project is a YAML-file which defines file relative paths, scripts as well as targets to launch. This allows you to define a common hardware system, and several embedded targets to run. Project support can be used from both command line and the API. Although there is a standard project layout you can setup with temu --init-project, the project file support was intended to be usable with any directory structure, including custom simulator.

  • Component Support Components existed with experimental support for some time. TEMU 5 stabilize the YAML component layout and implementation, enabling much easier management of board models.

  • Bundled CPython 3.13 build is now included.

Deprecations

  • JSON snapshots are deprecated.

  • Old SPI interfaces are deprecated.

Removals

  • The Machine model has now been removed completely. There are two global schedulers in its place.

  • The experimental old register API has been removed in favour of temu_RegisterIface.

Breaking Changes

  • The CPU state and powerState properties have been combined, with state beeing teCS_Off replacing a power state of zero.

Bugs

The following bugs have been fixed:

  • breakpoint-list command did not work properly.