Fiasco.OC and qemu vexpress machine model
Michele Paolino
m.paolino at virtualopensystems.com
Wed Apr 23 09:50:39 CEST 2014
Adam,
In fact it seems that the version present in the Ubuntu 12.04 repository
is too old and has some problem with FIASCO. Thank you for your help, I
downloaded and compiled qemu v2 and now it works.
Actually I didn't try to change the qemu version before because I tried
to use the bootstrap.elf with FastModels and the kernel stops at
"Roottask config ip:801401a0 sp:00000000" ( more or less same behavior
of the older versions of QEMU, so I thought the problem was the same).
Is there anyone who has experience with FIASCO+FastModels?
Lastly, is there any example that you can mention of FIASCO.OC usage in
production?
Regards,
Michele
On 19/04/2014 11:31, Adam Lackorzynski wrote:
> On Thu Apr 17, 2014 at 23:21:20 +0200, Adam Lackorzynski wrote:
>> Hi,
>>
>> On Thu Apr 17, 2014 at 13:01:18 +0200, Michele Paolino wrote:
>>> On 17/04/2014 00:02, Adam Lackorzynski wrote:
>>>> On Wed Apr 16, 2014 at 13:03:44 +0200, Michele Paolino wrote:
>>>>> On 15/04/2014 23:33, Adam Lackorzynski wrote:
>>>>>> On Tue Apr 15, 2014 at 17:26:36 +0200, Michele Paolino wrote:
>>>>>>> Hello Adam,
>>>>>>>
>>>>>>> On 14/04/2014 23:53, Adam Lackorzynski wrote:
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> On Mon Apr 14, 2014 at 11:35:25 +0200, Michele Paolino wrote:
>>>>>>>>> I'm trying to execute Fiasco.OC along with the hello module using qemu and
>>>>>>>>> the vexpress machine model. For both A9 and A15 cpus the system hangs at
>>>>>>>>> "Starting kernel fiasco". It seems that something (the UART driver?)
>>>>>>>>> prevents the system to log the kernel boot to the screen.
>>>>>>>>>
>>>>>>>>> I compiled the image using 'make qemu' in L4RE, and the vm is executed with
>>>>>>>>> the argument -nographic.
>>>>>>>>>
>>>>>>>>> Can you confirm this? Do you have any suggestion to solve it?
>>>>>>>>>
>>>>>>>>> Here below you can find the log of the A15 boot process:
>>>>>>>> Did you launch make qemu with PT=rv_vexpress_a15 and did the launch pick
>>>>>>>> up the right Fiasco binary, i.e. that one configured for vexpress-a15?
>>>>>>> Executing "make qemu O=../build PT=rv_vexpress_a15 E=hello" results in the
>>>>>>> following:
>>>>>>>
>>>>>>> Image size(s) in bytes:
>>>>>>> bootstrap_hello.elf: 917888
>>>>>>> Start address: 0x81000000
>>>>>>> --> Build-Nr: 2
>>>>>>> QEmu-cmd: qemu-system-arm -kernel
>>>>>>> /home/neonum6/l4re-core-2014022818/src/build/images/bootstrap.elf
>>>>>>> -nographic -M vexpress-a15 -m 256
>>>>>>>
>>>>>>>
>>>>>>> And soon after the log of the boot is exactly the one I posted before. I
>>>>>>> assume that what is in build/images/ is the right binary (bootstrap.elf is a
>>>>>>> symbolic link to
>>>>>>> build/pkg/bootstrap/server/src/OBJ-arm_armv7a/bootstrap.elf), should I check
>>>>>>> elsewhere?
>>>>>> I'd suspect that Fiasco could be wrongly configured, that's why I was
>>>>>> asking whether the build process picked up the right Fiasco image that
>>>>>> has been also configured for this target.
>>>>>>
>>>>>>> ps: I tried to investigate about the status of the CPU registers using GDB,
>>>>>>> the info all-registers command returns always the same value for all the
>>>>>>> registers.
>>>>>> Please show them, they might tell me something :)
>>>>> Sure. This is the log:
>>>>>
>>>>> (gdb) target remote :1234
>>>>> Remote debugging using :1234
>>>>> 0xffff000c in ?? ()
>>>>> (gdb) info all-registers
>>>>> r0 0x1c 28
>>>>> r1 0x2 2
>>>>> r2 0x2 2
>>>>> r3 0xffffffff -1
>>>>> r4 0x0 0
>>>>> r5 0x9000200b -1879039989
>>>>> r6 0xc53c7f 12926079
>>>>> r7 0x0 0
>>>>> r8 0x80059cc0 -2147115840
>>>>> r9 0x55555555 1431655765
>>>>> r10 0x0 0
>>>>> r11 0x80002500 -2147474176
>>>>> r12 0x0 0
>>>>> sp 0x0 0x0
>>>>> lr 0xffff0010 -65520
>>>>> pc 0xffff000c 0xffff000c
>>>>> cpsr 0x600001d7 1610613207
>>>> So it page-faulted. Could you show me the globalconfig.out out of the
>>>> Fiasco build-dir?
>>> This is the globalconfig file:
>> [...]
>>> I tried several configurations, for example I added the following
>>>
>>> < CONFIG_ARM_ALIGNMENT_CHECK=y
>>> < CONFIG_ARM_ENABLE_SWP=y
>>> < CONFIG_ARM_LPAE=y
>>> < CONFIG_FPU=y
>>> < CONFIG_ARM_CPU_ERRATA=y
>>>
>>> to the config file, but it doesn't solve the problem. In the meantime I'm
>>> checking the vexpress memory map in the directory
>>> kernel/fiasco/src/kern/arm, but everything looks good to me. Is there anyone
>>> who actually uses FIASCO with this configuration?
>> It's among the platforms I use more regularly, so yes. I just tried your
>> config and it works fine for me. Could you send me your bootstrap.elf
>> and fiasco.image files (off-list) so that I can take a look?
> Your image works fine for me with
> qemu-system-arm -kernel /tmp/bootstrap.elf -nographic -M vexpress-a15 -m 256
>
> I'm using a recent Qemu version. Which version do you use?
>
>
>
> Adam
More information about the l4-hackers
mailing list