-
Notifications
You must be signed in to change notification settings - Fork 28
Notes on Morello QEMU Tests (Edinburgh Tests arm ACK)
These are some notes on running the two test suites we have for Morello QEMU
For general Morello QEMU usage, you should be using the virt board. However, there is also a 'morello' board (see hw/arm/morello.c) intended for testing. Use -machine morello
to select it. It sets up a very simple flat memory map, and has a testing device called the 'trickbox'.
The morello board comes in two flavours. The default is intended to run the set of auto-generated tests, and the second the arm ACK suite. To configure the board for the ACK, use -machine morello,ack=on
Both the Edinburgh tests (already on jenkins) and the arm ACK suite are just a set of ELF files that are run baremetal on QEMU. They will use the trickbox to print to stdout a test result status, and then exit QEMU. The arm ACK is not public, so no part of it should be hosted publicly. If you do get a hold of it, however, you can run tests locally by running QEMU on each elf in turn, and pattern matching output.
Basically all of the Edinburgh tests should pass. A few of them are filtered out, see the Jenkins job for reference.
Many of the ARM ACK will not pass. Many of these are because we do not emulate certain parts of the architecture. There is sadly no list of which ones are currently expected to pass.