This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

What is in the January release 1.4 of Morello IE?

Arm has released Morello instruction emulator 1.4 on 13th of January 2022. What are the main changes and improvements that are included in this release?

  • This release brings a number of bug fixes and improvements for running and debugging Morello applications and experimenting with Morello compartments.

    New functionality

    1. Default settings for emulated CPU state. The CCTRL.SBL control bit is enabled by default (use -no-SBL option to disable it). This control bit affects sealing and unsealing of branch targets and return capabilities. In the 1.4 release this Morello feature is enabled by default.
    2. Improvements in the debugger. Emulated C-registers will be synchronised by default with hardware X-registers when displayed in debugger. Emulator is synchronising the registers only when necessary right before they are used in an instruction. Debugger stops at breakpoints before that, so for convenience this synchronisation is happening earlier when debugger is enabled. Use -no-debug-sync-regs option to return to previous behaviour.
    3. Disassembly of Morello instructions in debugger and tracer now uses conventional assembly syntax. This makes instruction traces much easier to work with.
    4. Help with tracing multi-threaded applications. New option -tid will add thread ID in the instruction and memory traces. This might be helpful for working with multi-threaded Morello applications or when one such application forks or spawns another one.

    Fixed bugs

    1. Bugs fixed in this release include:
    2. Fixed slow emulation on some systems due to LDRX/STRX loops. This could significantly affect the performance of emulation.
    3. Fixed frame command in debugger. It now correctly calculates bounds of a stack frame even when such frame is located in a detached memory region. The latter might come in handy for experimenting with Morello compartments.
    4. Fixed view command in the debugger. Now it returns to the debugger prompt instead of continuing execution.
    5. Fixed printing usage information with -help option. The description of the available options is better structured now.
    6. Fixed debugger crash when stack frame is too long.
    7. Fixed omitting tags for emulated registers in the debugger. The list of registers (the cpu command) has also been reworked and includes capability metadata where available.