The Morello Instruction Emulator (Morello IE) is an experimental tool for software developers and researchers who are interested in the Morello architecture. It allows running userspace Morello applications on AArch64 Linux systems in a non-Morello environment and provides a number of analysis and debugging tools. It can be used to help with porting software to Morello, to experiment with capabilities and Morello compartments as well as measure and analyse performance of Morello applications.

  • Download Morello IE 2.1-70 (for Linux AArch64) — latest

    Download morelloie-2.1-70.tgz.sh

    Target platform Linux AArch64
    Date published 27 October 2022
    MD5 b1150390cc84a3bc4dabf136f4a12796
    SHA-256 37d9bc72aeba45091a04a0db62f09ceda621e4d7c05c9d895a73c49037b2498b
     

    New functionality

    • Remote debugger mode with Python-based terminal client and experimental web-based GUI client.
    • Performance improvements using latest compiler optimisations for Armv8.
    • The -break option of the debugger accepts a comma-separated list of PC expressions to set initial breakpoints in the debugger.
     

    Fixed in this release

    • Fixed handling tags for memory mappings.
    • Fixed crash due to incorrect PCC LSB handling of last address in memory page.
    • Fixed saving and restoring capability registers during signal handlers.
    • Fixed wrong required permissions in the error message for the insufficient permissions capability fault.
    • Fixed cache model crash on some PRFM instructions.
    • Fixed unclear message about tag not set capability fault.
    • Fixed incorrect handling of PSTATE.C64 for branch to 64 bit register instructions.

     

  • Download Morello IE 2.0-68 (for Linux AArch64)

    Download morelloie-2.0-68.tgz.sh

    Target platform Linux AArch64
    Date published 28 July 2022
    MD5 f22214f98f98de12db684cfd936fbe97
    SHA-256 906036f070790b4e96a86426880b4feac3b1277ed83f2ab2eb2b3ce46b634336
     

    New functionality

    • This release comes with the installer that allows a user to accept EULA and select installation directory.
    • New metrics have been added to the statistics counter module (see the list in the updated user guide).
    • Debugger has better support for dynamically linked applications.
    • Debugger commands have been re-worked to be more conventional.
    • Tracer command line options that accept PC values will now understand symbol names with offsets (similar to how debugger accepts breakpoint addresses).
    • There is only one launcher binary morelloie that combines both front-end and launcher binaries' functionality (additional command line options allow for loading third party instrumentation clients).
    • Morello ISA specification is updated to PROTO_REL_04.
    • DynamoRIO has been upgraded to 9.0 which brings better support for AArch64 instructions as well as many other improvements.
    • Help information has been improved.
     

    Removed functionality

    • Support for running purecap Morello applications linked to a non-Morello C library has been removed.
     

    Fixed in this release

    • Several issues have been fixed in the debugger.
    • Morello IE now correctly processes signal handlers and thread cancellations.
    • Updated instrumentation of LDXR/STXR sections.