Hi everyone,
I am starting my project in Morello Board. I am using FVP and have followed all the steps to get morello-sdk in this guide: https://git.morello-project.org/morello/morello-sdk#build-a-hello-world-application-using-morello-sdk-development-kit. the problem I have is when I run the program using Qemu, I get this error: qemu: uncaught target signal 4 (Illegal instruction) - core dumpedIllegal instruction (core dumped)Can you please help to find a way to solve this issue?
Thanks in advance.
To use 9P (Plan 9 protocol), both the FVP system and the software stack must support 9P.
I don't know if the Morello FVP supports 9P but the -l tells below (meaning it contains the VirtioP9Device component in the system), hopefully, it's supported.
$ FVP_Morello -C disable_visualisation=1 -l | grep virtio_9p board.virtio_p9.mount_tag=FM # (string, init-time) default = 'FM' : mount tag board.virtio_p9.quiet=0 # (bool , init-time) default = '0' : Don't print warnings on malformed commands/descriptors board.virtio_p9.root_path= # (string, init-time) default = '' : root directory path board.virtio_p9.secure_accesses=0 # (bool , init-time) default = '0' : Make device generate transactions with NS=0
For software stack, if it's Linux, the following kernel configs should usually be defined to enable 9P.
CONFIG_NET_9P=y CONFIG_NET_9P_VIRTIO=y CONFIG_NET_9P_DEBUG=y
mount: /somewhere: special device FM does not exist.
The error above usually means that the model was not started with the 9p root_path i.e. -C board.virtio_p9.root_path=/somewhere . For your case, it should be -C board.virtio_p9.root_path=/morello/shared_folder . BTW, the permission of this directory may matter so you may need to set the directory to 0777 permission.
$ mkdir /morello/shared_folder $ chmod 0777 /morello/shared_folder
FYI, the details about the VirtioP9Device component can be found at:
developer.arm.com/.../VirtioP9Device
Kind regards,
Toshi
Thank you Toshihisa, great and helpful