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