xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Wonseok Ko <magicyaba@gmail.com>
To: Julien Grall <julien.grall@arm.com>
Cc: Andre Przywara <andre.przywara@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xen.org
Subject: Re: Data Abort while in booting when using latest version on arm32 fastmodels
Date: Tue, 12 Jul 2016 20:56:40 +0900	[thread overview]
Message-ID: <CACFf9OH3Jq-D-2xUDvd1cTOjum4H+rpvUwzwqg4MB+NMGvDY2g@mail.gmail.com> (raw)
In-Reply-To: <5784C1D7.6050004@arm.com>


[-- Attachment #1.1: Type: text/plain, Size: 7818 bytes --]

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.grall@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
>

[-- Attachment #1.2: Type: text/html, Size: 15474 bytes --]

[-- Attachment #2: Type: text/plain, Size: 127 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

  reply	other threads:[~2016-07-12 11:56 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-12  5:20 Data Abort while in booting when using latest version on arm32 fastmodels Wonseok Ko
2016-07-12 10:09 ` Julien Grall
2016-07-12 11:56   ` Wonseok Ko [this message]
2016-07-13  1:32     ` Wonseok Ko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CACFf9OH3Jq-D-2xUDvd1cTOjum4H+rpvUwzwqg4MB+NMGvDY2g@mail.gmail.com \
    --to=magicyaba@gmail.com \
    --cc=andre.przywara@arm.com \
    --cc=julien.grall@arm.com \
    --cc=sstabellini@kernel.org \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).