Run L4Re/Fiasco hello example under QEMU (ARM)

Adam Lackorzynski adam at os.inf.tu-dresden.de
Sun Mar 5 23:47:55 CET 2017


Hi Piotr,

On Fri Mar 03, 2017 at 13:08:33 +0100, Piotr Piwko wrote:
> I would like to run hello example under qemu-system-arm, so I
> successfully built the images using gcc-linaro-6.3.1 toolchain with
> following configuration:
> 
> L4Re:
>    Target Architecture (ARM architecture)
>    CPU variant (ARMv7A type CPU)
>    Platform Selection (ARM Integrator)
> 
> Fiasco:
>    Architecture (ARM processor family)
>    Platform (ARM Integrator Platform)
>    CPU (ARM 926 Processor)
> 
> Unfortunately, after booting boostrap_hello.elf image under
> qemu-system-arm (the latest 2.8.0 version) there is nothing printed
> out on the console:
> 
> $ QEMU_OPTIONS="-machine integratorcp -m 256 -serial mon:stdio
> -nographic" make qemu E=hello
> MODULE_SEARCH_PATH=/path/to/fiasco/build/
> 
> Do you have any idea what I omitted or what is wrong in my setup?

I think the problem is your selection of the CPU type ARMv7A.
The ARM926 CPU that is implicitly selected for QEMU is a ARMv5 CPU and
thus will choke very early when executing ARMv7 code. Please
either choose ARMv5TE for the L4Re build or an ARMv7 target (you'd need
to build a different kernel config in this case too).
I'd recommend the latter, except you have an explicit reason to use
rather old ARMv5-type CPUs.


Adam




More information about the l4-hackers mailing list