Fiasco.OC and qemu vexpress machine model

Adam Lackorzynski adam at os.inf.tu-dresden.de
Sat Apr 19 11:31:28 CEST 2014


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
-- 
Adam                 adam at os.inf.tu-dresden.de
  Lackorzynski         http://os.inf.tu-dresden.de/~adam/



More information about the l4-hackers mailing list