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