Fiasco.OC and qemu vexpress machine model

Michele Paolino m.paolino at virtualopensystems.com
Thu Apr 17 13:01:18 CEST 2014


Hi,

On 17/04/2014 00:02, Adam Lackorzynski wrote:
> Hi,
>
> 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?
>
>
>
> Adam

This is the globalconfig file:

    #
    # Automatically generated file; DO NOT EDIT.
    # Fiasco configuration
    #

    #
    # Target configuration
    #
    # CONFIG_IA32 is not set
    # CONFIG_AMD64 is not set
    CONFIG_ARM=y
    # CONFIG_PF_IMX is not set
    CONFIG_PF_REALVIEW=y
    # CONFIG_PF_S3C2410 is not set
    # CONFIG_PF_TEGRA is not set
    # CONFIG_PF_OMAP is not set
    # CONFIG_PF_SA1100 is not set
    # CONFIG_PF_XSCALE is not set
    # CONFIG_PF_EXYNOS is not set
    # CONFIG_PF_KIRKWOOD is not set
    # CONFIG_PF_INTEGRATOR is not set
    # CONFIG_PF_BCM2835 is not set
    CONFIG_BSP_NAME="realview"
    # CONFIG_PF_REALVIEW_EB is not set
    # CONFIG_PF_REALVIEW_PB11MP is not set
    # CONFIG_PF_REALVIEW_PBX is not set
    CONFIG_PF_REALVIEW_VEXPRESS=y
    CONFIG_PF_REALVIEW_VEXPRESS_A15=y
    CONFIG_PF_REALVIEW_RAM_PHYS_BASE_0x8=y
    CONFIG_PF_REALVIEW_RAM_PHYS_BASE=0x80000000
    CONFIG_ABI_VF=y
    CONFIG_PF_ARM_MP_CAPABLE=y
    CONFIG_CAN_ARM_CPU_CORTEX_A9=y
    CONFIG_CAN_ARM_CPU_CORTEX_A15=y
    # CONFIG_ARM_CORTEX_A9 is not set
    CONFIG_ARM_CORTEX_A15=y
    # CONFIG_ARM_ALIGNMENT_CHECK is not set
    CONFIG_ARM_EM_STD=y
    # CONFIG_ARM_EM_NS is not set
    # CONFIG_ARM_EM_TZ is not set
    # CONFIG_ARM_ENABLE_SWP is not set
    # CONFIG_ARM_LPAE is not set
    # CONFIG_FPU is not set
    # CONFIG_ARM_CPU_ERRATA is not set

    #
    # Kernel options
    #
    # CONFIG_MP is not set
    CONFIG_CONTEXT_4K=y
    # CONFIG_FINE_GRAINED_CPUTIME is not set
    CONFIG_SCHED_FIXED_PRIO=y
    CONFIG_VIRT_OBJ_SPACE=y

    #
    # Debugging
    #
    CONFIG_INLINE=y
    # CONFIG_NDEBUG is not set
    CONFIG_NO_FRAME_PTR=y
    # CONFIG_STACK_DEPTH is not set
    # CONFIG_LIST_ALLOC_SANITY is not set
    CONFIG_SERIAL=y
    CONFIG_JDB=y
    # CONFIG_JDB_LOGGING is not set
    # CONFIG_JDB_DISASM is not set
    # CONFIG_JDB_GZIP is not set
    # CONFIG_VMEM_ALLOC_TEST is not set
    # CONFIG_DEBUG_KERNEL_PAGE_FAULTS is not set
    # CONFIG_WARN_NONE is not set
    CONFIG_WARN_WARNING=y
    # CONFIG_WARN_ANY is not set

    #
    # Compiling
    #
    CONFIG_CC="gcc"
    CONFIG_CXX="g++"
    CONFIG_HOST_CC="gcc"
    CONFIG_HOST_CXX="g++"
    # CONFIG_MAINTAINER_MODE is not set
    CONFIG_LABEL=""
    # CONFIG_EXPERIMENTAL is not set
    CONFIG_PERF_CNT=y
    CONFIG_BIT32=y
    CONFIG_ARM_V7=y
    CONFIG_ARM_V6PLUS=y
    CONFIG_WARN_LEVEL=1
    CONFIG_XARCH="arm"
    CONFIG_ABI="vf"

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?

Regards,

-- 
Michele Paolino

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://os.inf.tu-dresden.de/pipermail/l4-hackers/attachments/20140417/9f3e17df/attachment.html>


More information about the l4-hackers mailing list