Hi, Julien

I finally succeed booting xen on newer version of FVP(Fastmodels)
The problem is wrong memory size setting in command line option.

I left my command line for others who will face the same problem like me
and I marked bold memory setting part in command line.
NOTE: If you want to configure size of memory for domain 0, you should use
command as below for linux command line and xen command line(see the *BOLD*
).
            If any you configure different size of memory, you may see the
data abort error(e.g. HSR: 0x90000045 xxxx).
            In my case, domain0(mem=2048) has lager memory size than xen
configuration(dom0_mem=128M)

*1. For FVP_VE_Cortex-A15x124-A7x124 *

FVP_VE_Cortex-A15x4-A7x4 -a coretile.cluster0.*=./linux-system-semi.axf \

                         -a coretile.cluster1.*=./linux-system-semi.axf \

                         -C motherboard.smsc_91c111.enabled=1 -C
motherboard.hostbridge.userNetworking=1 \

                         -C
coretile.dualclustersystemconfigurationblock.CFG_ACTIVECLUSTER=0x3 \

                         -C coretile.cluster0.cpu0.semihosting-cmd_line=" \

                            --kernel ../xen/xen/xen \

                            --module ../linux/arch/arm/boot/zImage
console=ttyAMA0 earlyprintk=xen debug *mem=128M* root=/dev/nfs
nfsroot=192.168.0.8:/srv/nfsroot/ rw ip=dhcp \

                            --dtb rtsm_ve-cortex_a15x4_a7x4.dtb --
earlyprintk *dom0_mem=128M*"
*2. For FVP_VE_Cortex-A15x124*

FVP_VE_Cortex-A15x4      -a ./linux-system-semi.axf \

                                           -C
motherboard.smsc_91c111.enabled=1 -C motherboard.hostbridge.userNetworking=1
\

                                           -C cluster.cpu0.semihosting-
cmd_line=" \

                                           --kernel ../xen/xen/xen \

                                           --module
../linux/arch/arm/boot/zImage console=ttyAMA0 earlyprintk=xen debug
root=/dev/nfs nfsroot=192.168.0.8:/srv/nfsroot/ rw ip=dhcp \

                                          --dtb rtsm_ve-cortex_a15x4.dtb --
earlyprintk console=ttyAMA0"


Thanks,
Wonseok


Thanks,
Wonseok.

2016-07-12 20:56 GMT+09:00 Wonseok Ko <magicy...@gmail.com>:

> Thank you for your help, Julien
>
> I found the memory overlapping problem between Kernel and Device Tree in
> bootwrapper.
> The problem came from INITRD_OFFSET and PHYS_OFFSET macro(0x00d00000)
> I fixed these offsets from 0x00d00000 to 0x00e00000 and then I avoided the
> memory overlapping problem:
>
> (XEN) MODULE[0]: 0000000080e0230c - 0000000080e04731 Device Tree
> (XEN) MODULE[1]: 0000000080a00000 - 0000000080d904b8 Kernel
> console=hvc0 earlyprintk=xen debug mem=2048M root=/dev/mmcblk0 rw ip=dhcp
>
>
> However, I've got another error as below:
>
> (XEN) Checking for initrd in /chosen
> (XEN) RAM: 0000000080000000 - 00000000ffffffff
> (XEN)
> (XEN) MODULE[0]: 0000000080e0230c - 0000000080e04731 Device Tree
> (XEN) MODULE[1]: 0000000080a00000 - 0000000080d904b8 Kernel
> console=hvc0 earlyprintk=xen debug mem=2048M root=/dev/mmcblk0 rw ip=dhcp
>
> (XEN)
> (XEN) Command line: earlyprintk console=ttyAMA0
> (XEN) Placing Xen at 0x00000000ffe00000-0x0000000100000000
> (XEN) Update BOOTMOD_XEN from 0000000080200000-00000000802fd781 =>
> 00000000ffe00000-00000000ffefd781
> (XEN) Xen heap: 00000000fa000000-00000000fe000000 (16384 pages)
> (XEN) Dom heap: 507904 pages
> (XEN) Domain heap initialised
> (XEN) Platform: VERSATILE EXPRESS
> (XEN) Bad console= option 'ttyAMA0'
>  Xen 4.8-unstable
> (XEN) Xen version 4.8-unstable (wonseok@) (arm-linux-gnueabihf-gcc
> (crosstool-NG linaro-1.13.1-4.7-2013.03-20130313 - Linaro GCC 2013.03)
> 4.7.3 20130226 (prerelease)) debug=y Tue Jul 12 19:59:29 KST 2016
> (XEN) Latest ChangeSet: Thu Jun 30 14:01:02 2016 +0200 git:bb4f41b-dirty
> (XEN) Processor: 412fc0f0: "ARM Limited", variant: 0x2, part 0xc0f, rev 0x0
> (XEN) 32-bit Execution:
> (XEN)   Processor Features: 00001131:00011011
> (XEN)     Instruction Sets: AArch32 A32 Thumb Thumb-2 ThumbEE Jazelle
> (XEN)     Extensions: GenericTimer Security
> (XEN)   Debug Features: 02010555
> (XEN)   Auxiliary Features: 00000000
> (XEN)   Memory Model Features: 10201105 20000000 01240000 02102211
> (XEN)  ISA Features: 02101110 13112111 21232041 11112131 10011142 00000000
> (XEN) Set SYS_FLAGS to 00000000ffe0004c (0020004c)
> (XEN) Generic Timer IRQ: phys=30 hyp=26 virt=27 Freq: 24000 KHz
> (XEN) GICv2 initialization:
> (XEN)         gic_dist_addr=000000002c001000
> (XEN)         gic_cpu_addr=000000002c002000
> (XEN)         gic_hyp_addr=000000002c004000
> (XEN)         gic_vcpu_addr=000000002c006000
> (XEN)         gic_maintenance_irq=25
> (XEN) GICv2: 128 lines, 8 cpus, secure (IID 3902043b).
> (XEN) Using scheduler: SMP Credit Scheduler (credit)
> (XEN) Allocated console ring of 64 KiB.
> (XEN) VFP implementer 0x41 architecture 4 part 0x30 variant 0xf rev 0x0
> (XEN) Bringing up CPU1
> - CPU 00000001 booting -
> - Xen starting in Hyp mode -
> - Setting up control registers -
> - Turning on paging -
> - Ready -
> (XEN) CPU 2 booted.
> (XEN) Bringing up CPU3
> - CPU 00000003 booting -
> - Xen starting in Hyp mode -
> - Setting up control registers -
> - Turning on paging -
> - Ready -
> (XEN) CPU 3 booted.
> (XEN) Bringing up CPU4
> - CPU 00000100 booting -
> - Xen starting in Hyp mode -
> - Setting up control registers -
> - Turning on paging -
> - Ready -
> (XEN) CPU 4 booted.
> (XEN) Bringing up CPU5
> - CPU 00000101 booting -
> - Xen starting in Hyp mode -
> - Setting up control registers -
> - Turning on paging -
> - Ready -
> (XEN) CPU 5 booted.
> (XEN) Bringing up CPU6
> - CPU 00000102 booting -
> - Xen starting in Hyp mode -
> - Setting up control registers -
> - Turning on paging -
> - Ready -
> (XEN) CPU 6 booted.
> (XEN) Bringing up CPU7
> (XEN) CPU7 never came online
> (XEN) Failed to bring up CPU 7 (error -5)
> (XEN) Brought up 7 CPUs
> (XEN) P2M: 40-bit IPA
> (XEN) P2M: 3 levels with order-1 root, VTCR 0x80003558
> (XEN) I/O virtualisation disabled
> (XEN) *** LOADING DOMAIN 0 ***
> (XEN) Loading kernel from boot module @ 0000000080a00000
> (XEN) Allocating 1:1 mappings totalling 128MB for dom0:
> (XEN) BANK[0] 0x00000088000000-0x00000090000000 (128MB)
> (XEN) Grant table range: 0x000000ffe00000-0x000000ffe5d000
> (XEN) Loading zImage from 0000000080a00000 to
> 000000008fc00000-000000008ff904b8
> (XEN) Allocating PPI 16 for event channel interrupt
> (XEN) Loading dom0 DTB to 0x000000008fa00000-0x000000008fa0220e
> (XEN) Scrubbing Free RAM on 1 nodes using 7 CPUs
> (XEN) ...done.
> (XEN) Initial low memory virq threshold set at 0x4000 pages.
> (XEN) Std. Loglevel: All
> (XEN) Guest Loglevel: All
> (XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input
> to Xen)
> (XEN) Freed 268kB init memory.
> (XEN) traps.c:2506:d0v0 HSR=0x90000045 pc=0x80341924 gva=0xefffe000
> gpa=0x000000f7ffe000
>
> Could you please explain the reason why the above fault?
>
> Thanks,
> Wonseok
>
>
>
> Thanks,
> Wonseok.
>
> 2016-07-12 19:09 GMT+09:00 Julien Grall <julien.gr...@arm.com>:
>
>>
>>
>> On 12/07/16 06:20, Wonseok Ko wrote:
>>
>>> Hi, All
>>>
>>
>> Hello,
>>
>> I founded the previous post to solve the problem as the same as mine,
>>> the patch was applied in latest version, but I've got the data abort.
>>> previous post:
>>> https://lists.xen.org/archives/html/xen-devel/2013-09/msg00606.html and
>>> I referred
>>> to the wiki page:
>>>
>>> http://wiki.xen.org/wiki/Xen_ARM_with_Virtualization_Extensions/FastModels
>>>
>>
>> This page has not been updated for a while for ARM32. It might be
>> possible that the page is out-of-date for the newer models.
>>
>> I build the latest version of Xen with command as below:
>>> # make distclean; XEN_TARGET_ARCH=arm32
>>> CROSS_COMPILE=arm-linux-gnueabihf- debug=y CONFIG_EARLY_PRINTK=fastmodel
>>> ./configure
>>> # make xen XEN_TARGET_ARCH=arm32 CROSS_COMPILE=arm-linux-gnueabihf-
>>> debug=y CONFIG_EARLY_PRINTK=fastmodel -j 8
>>>
>>> My fastmodels command as below:
>>>
>>> FVP_VE_Cortex-A15x4-A7x4 -acoretile.cluster0.*=./linux-system-semi.axf \
>>>
>>> -acoretile.cluster1.*=./linux-system-semi.axf \
>>>
>>>
>>> -Cmotherboard.smsc_91c111.enabled=1-Cmotherboard.hostbridge.userNetworking=1\
>>>
>>> -Ccoretile.dualclustersystemconfigurationblock.CFG_ACTIVECLUSTER=0x3 \
>>>
>>> -Ccoretile.cluster0.cpu0.semihosting-cmd_line="\
>>>
>>>                              --kernel ../xen/xen/xen \
>>>
>>>                              --module ../linux/arch/arm/boot/zImage \
>>>
>>>                              --dtb rtsm_ve-cortex_a15x4_a7x4.dtb \
>>>
>>>                              -- earlyprintk console=ttyAMA0 mem=2048M
>>> root=/dev/nfs nfsroot=192.168.0.8:/srv/nfsroot/ rw ip=dhcp"
>>>
>>
>> This should be the Xen command line and not Linux one.
>>
>>
>>>
>>> Does anybody help me to fix it? or If I did something wrong, please let
>>> me know.
>>>
>>> here is log:
>>>
>>> Trying 127.0.0.1...
>>>
>>> Connected to localhost.
>>>
>>> Escape character is '^]'.
>>>
>>> - UART enabled -
>>>
>>> - CPU 00000000 booting -
>>>
>>> - Xen starting in Hyp mode -
>>>
>>> - Zero BSS -
>>>
>>> - Setting up control registers -
>>>
>>> - Turning on paging -
>>>
>>> - Ready -
>>>
>>> (XEN) Checking for initrd in /chosen
>>>
>>> (XEN) RAM: 0000000080000000 - 00000000ffffffff
>>>
>>> (XEN)
>>>
>>> (XEN) MODULE[0]: 0000000080d0230c - 0000000080d0473d Device Tree
>>>
>>> (XEN) MODULE[1]: 0000000080a00000 - 0000000080d904b8 Kernel
>>> console=ttyAMA0
>>>
>>
>> If I am not mistaken, the Device Tree and the Kernel overlaps in the
>> memory. So Xen will try to free twice the same page, hence the data abort
>> later one.
>>
>> I would look into the bootwrapper to find out why the addresses overlap.
>>
>> [...]
>>
>> (XEN) Xen call trace:
>>>
>>> (XEN)    [<0021be40>] page_alloc.c#free_heap_pages+0x2c0/0x428 (PC)
>>>
>>> (XEN)    [<0021be18>] page_alloc.c#free_heap_pages+0x298/0x428 (LR)
>>>
>>> (XEN)    [<0021cbb8>] page_alloc.c#init_heap_pages+0x100/0x118
>>>
>>> (XEN)    [<0021ce78>] init_domheap_pages+0xb0/0xb4
>>>
>>> (XEN)    [<002549e8>] dt_unreserved_regions+0xf4/0xfc
>>>
>>> (XEN)    [<0028b378>] discard_initial_modules+0x138/0x178
>>>
>>> (XEN)    [<0024b1b0>] construct_dom0+0xb24/0xc8c
>>>
>>> (XEN)    [<0028c12c>] start_xen+0xd38/0xeb0
>>>
>>> (XEN)    [<00200550>] arm32/head.o#paging+0x94/0xd8
>>>
>>
>> Regards,
>>
>> --
>> Julien Grall
>>
>
>
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

Reply via email to