TEMU 3.0.0-pre0

TEMU 3.0.0-pre0 was released on 2022-04-12.

Features

  • New command line interpreter engine. The CLI has been rewritten with a recursive decent parser. The new interpreter adds support for:

    • If-statements

    • Custom commands via defcmd construct.

    • C-style single line comments //

    • Object commands

    • Class commands driven by new meta-class concept. A class can customize the new command in the meta-class with additional named parameters.

    • In-place snapshot restore without recreating objects

Models

  • Data Buses

    • PCIe

    • SPI

  • GRLIB

    • GRIOMMU

    • IRQAMP

  • PowerPC

    • e500 PowerPC core (including SPE instruction set)

    • P2020 peripherals

      • GPIO

      • eSPI

      • PCIe

      • eTSEC Ethernet MAC

      • DUART

      • PIC

      • DDR controller

      • Coherency module

  • Integration Support

    • DeviceIDIntegrator

Enhancements

  • Instruction set interpreters have moved to a pre-decoded dispatch mechanism:

    • Much higher performance (50% increase observed).

  • Many functions now take and return temu_Object* instead of void*. This means that some code in C++ may fail building. The old behavior can be enabled conditionally by setting the compiler definition: TEMU_TYPE_ERASED_OBJECTS=1 when building code using the TEMU API.

Removals

  • The legacy event API has been removed

  • External class support has been removed. The replacement of this feature is to write wrapper classes with pseudo properties.

Deprecations

None