Hi Vadim,
On 28/06/2022 21:58, Vadim Zaliva via Gnu-morello wrote:
I am trying to rung GCC-produced binaries under qemu, with no success. Here is what I did:
dummy.c:
#include <stdio.h>
int main() { fprintf(stderr,"hello world!\n"); }
$ ~/morello-gnu/bin/aarch64-none-elf-gcc -march=morello+c64 -mabi=purecap -specs=aem-ve.specs -O0 tests/cheri/dummy.c -o dummy
$ file dummy dummy: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), statically linked, with debug_info, not stripped
$ ~/cheri/output/morello-sdk/bin/qemu-system-morello -M virt,gic-version=3 -cpu morello -m 2048 -nographic -device virtio-rng-pci -bios dummy
Where are you getting your QEMU from, out of interest? I wasn't aware of a QEMU port for Morello.
Note that the binaries that GCC produces don't include the sort of firmware that would need to boot on real hardware. There may of course also be incompatibilities in the memory map that QEMU is using and that which the binary expects.
Thanks, Alex
At this point, qemu hangs up eating a lot of CPU and has to be killed.
Any suggestions on how I can run the binaries?
Vadim
-- Senior Research Associate Department of Computer Science and Technology University of Cambridge http://zaliva.org/