Re: Fiasco.OC and qemu vexpress machine model

Michele Paolino <[email protected]>
Newsgroups gmane.comp.micro-kernel.l4.devel
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.