Arm has released Morello Instruction Emulator version 2.3 on the 23rd of June 2023. What are the main changes and improvements that are included in this release?
The new Morello IE release 2.3 brings a few interesting things. First of all, a number of devices where you can use this tool has been extended because now you can run the majority of Morello applications on Armv8.0 devices. The emulator itself would already work on such systems, but some of the Morello applications may use Armv8.2 features such as LSE atomics. If this extension is not supported by your hardware, you can now enable emulation for the corresponding instructions in Morello IE.
Another important change is that you can run multi-threaded applications based on Morello Glibc. Previously, running some of such applications would result in a segmentation fault in Morello IE that has been fixed in this release. This brings the use case matrix to the following form:
The debugger got some improvements too. The web UI for the debugger has been a bit refreshed with reloadable widgets that give you a view into the result of some debugger command that updates when you go through the execution flow of your application.
Some new commands have been added to the debugger. For example, info reg c0 c1 c2 c3 command will show only specified registers which may be more convenient compared to printing all of them. The info reservations command will list emulated memory reservations along with associated memory mappings and their properties. This could be useful if you work with memory mappings and see some errors.
info reg c0 c1 c2 c3
Working with instruction and memory traces can be challenging especially if you need to work with a long running benchmark or a multi-threaded application. You can now redirect trace generated by Morello IE into a file using the -trace-file <filename> command. It is also possible to trace only specific thread: use -only-thread <num> command where <num> is the number of the thread you want to trace, 0 being the main application thread.
The full list of changes and fixes can be found in the release notes on the download page.
Morello IE is made to help you learn about Morello, port your code and write new code that would use all the new interesting features of Morello, and to examine your code from performance and security points of view. With Morello IE Morello is closer than you think. Checkout this blog post Sense and Capability – Try Morello on Linux using Morello IE to learn more.