TEMU 4.1.0

TEMU 4.1.0 was released on 2023-11-14.

TEMU 4.1.0 addresses several bugs. It also adds a number of useful features for debugging SpaceWire interactions and user applications.

Bug Fixes

  • GRETH control register reset bit was not cleared after completing reset. This resulted in Linux GRETH reset polling failing.

  • Redundant operations were executed when entering the CPU core, these have been moved to the processor create functions. This reduces the quanta expiration penalty, effecting multi-core processors.

  • Memory tracer were not properly handling large transactions.

  • GPTIMER counter registers were stuck between quantas for the non-primary processor (the model’s timesource).

  • GR740 was not configured to enable the IRQMAP registers for the GRGPIO devices.

  • GRGPIO IRQMAP registers could be written with invalid values, Linux kernel expects that the device only sets valid bits.

  • Race condition addressed in code generators.

  • Invalid log category name would crash the log-level command.

  • GRCAN buffer full detection logic was incorrect.

  • Memory probing operations used in atomic ASI operations (casa, ldstuba) on SPARC processors, did not check for MMU privileges.

  • Snapshot functions did not return an error code when a file cold not be opened.

Enhancement

  • PowerPC processor models are now using the pre-decoded interpretation functionality.

  • SPWROUTER model has improved logging that can be enabled using config properties. It can now log the packets that are being transmitted, transfer descriptors etc, using trace level instead of debug level. This makes low level SPWROUTER logging available also in the normal release mode.

  • GRCAN transmit logging has been adjusted and is less chatty.

  • Exposing exitReason as a property on all processor models.

  • Performance improvements in several places.

Features

  • SPARC processors with MMU now have a find-page-table-root command, that lets you search for a page table root matching either a specific VA, or a specific VA-PA translation.

  • Added SpaceWire injector models.

  • Added SpaceWire PCAP dumping model.

  • The old GDB server now lets you set the page table root used for translations on SPARC processors. This enables the debugging of user applications running with the MMU enabled.

  • A new GDB server supporting the parallel scheduler has been added.

  • Added placeholder models for:

    • GR740THSENS

    • L4STAT

    • MEMSCRUB

    • MMCTRL