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