Fiasco.OC and qemu vexpress machine model
Adam Lackorzynski
adam at os.inf.tu-dresden.de
Thu Apr 17 23:21:20 CEST 2014
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?
Thanks,
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