From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrii Anisov Subject: Re: Domain 0 crashed when booting OMAP5 uEVM Date: Mon, 12 Aug 2013 17:15:23 +0300 Message-ID: References: <20130812122452.GA21443@cbz-workstation> <5208D969.6090708@linaro.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============3401672624547108986==" Return-path: In-Reply-To: <5208D969.6090708@linaro.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Julien Grall Cc: Chen Baozi , Ian Campbell , "xen-devel@lists.xen.org" List-Id: xen-devel@lists.xenproject.org --===============3401672624547108986== Content-Type: multipart/alternative; boundary=14dae947323151229a04e3c0c11d --14dae947323151229a04e3c0c11d Content-Type: text/plain; charset=ISO-8859-1 Chen, What I can say is that omap's kernel accesses number of devices not actually listed in device-tree. Yes, omap has real problems with support via dt, it still has a lot of stuff buried in board files. So you have to do manual mappings of IOMEM ranges like it is done in exynos5_specific_mapping(). Andrii Anisov | Software Engineer GlobalLogic Kyiv, 03038, Protasov Business Park, M.Grinchenka, 2/1 P +38.044.492.9695x3664 M +380505738852 S andriyanisov www.globallogic.com http://www.globallogic.com/email_disclaimer.txt On Mon, Aug 12, 2013 at 3:47 PM, Julien Grall wrote: > On 08/12/2013 01:24 PM, Chen Baozi wrote: > > Hi Ian & Julien, > > > > I've added SMP "cpu kicking" & "mode switching" codes for OMAP5 today and > > trying to boot Xen on my board again. And it looks that I still got some > > work to do to boot my board. > > > > I attach the log in the end of mail. Any ideas for what I should have > > missed? > > > > Cheers, > > > > Baozi > > > > --- > > Starting kernel ... > > > > - UART enabled - > > - CPU 00000000 booting - > > - Machine ID 00000ec1 - > > - Started in Hyp mode - > > - Zero BSS - > > - Setting up control registers - > > - Turning on paging - > > - Ready - > > fdt: node `cpu@0': invalid #address-cells or #size-cellsfdt: node `cpu@1 > ': > > - invalid #addref > > Hum ... this is why Xen can't find the other cpus. Could you paste the > content of the node cpus here? > > > MODULE[1]: 00000000a0000000 - 00000000a0400000 > > Placing Xen at 0x00000000fee00000-0x00000000ff000000 > > Xen heap: 262144 pages Dom heap: 258048 pages > > Looking for UART console serial2 > > __ __ _ _ _ _ _ _ _ > > \ \/ /___ _ __ | || | | || | _ _ _ __ ___| |_ __ _| |__ | | ___ > > \ // _ \ '_ \ | || |_| || |_ __| | | | '_ \/ __| __/ _` | '_ \| |/ _ > \ > > / \ __/ | | | |__ _|__ _|__| |_| | | | \__ \ || (_| | |_) | | > __/ > > /_/\_\___|_| |_| |_|(_) |_| \__,_|_| > |_|___/\__\__,_|_.__/|_|\___| > > > > (XEN) Xen version 4.4-unstable (cbz@) (arm-linux-gnueabihf-gcc > (crosstool-NG > > linaro-1.13.3 > > (XEN) Latest ChangeSet: Wed Aug 7 11:38:25 2013 +0800 git:47f28d7-dirty > > (XEN) Processor: "ARM Limited", variant: 0x2, part 0xc0f, rev 0x2 > > (XEN) 32-bit Execution: > > (XEN) Processor Features: 00001131:00011011 > > (XEN) Instruction Sets: AArch32 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) Platform: TI OMAP5 > > (XEN) Generic Timer IRQ: phys=30 hyp=26 virt=27 > > (XEN) Using generic timer at 6144 KHz > > (XEN) GIC initialization: > > (XEN) gic_dist_addr=0000000048211000 > > (XEN) gic_cpu_addr=0000000048212000 > > (XEN) gic_hyp_addr=0000000048214000 > > (XEN) gic_vcpu_addr=0000000048216000 > > (XEN) gic_maintenance_irq=25 > > (XEN) GIC: 192 lines, 2 cpus, secure (IID 0000043b). > > (XEN) Waiting for 0 other CPUs to be ready > > (XEN) Using scheduler: SMP Credit Scheduler (credit) > > (XEN) Allocated console ring of 16 KiB. > > (XEN) VFP implementer 0x41 architecture 4 part 0x30 variant 0xf rev 0x0 > > (XEN) Brought up 1 CPUs > > (XEN) *** LOADING DOMAIN 0 *** > > (XEN) Populate P2M 0x80000000->0x90000000 > > (XEN) Loading kernel from boot module 1 > > (XEN) Loading zImage from 00000000a0000000 to > > 0000000080008000-00000000803f6d70 > > (XEN) Loading dom0 DTB to 0x000000008fe00000-0x000000008fe04e46 > > (XEN) Std. Loglevel: All > > (XEN) Guest Loglevel: All > > (XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch > input to > > Xen) > > (XEN) Freed 220kB init memory. > > (XEN) Guest data abort: Translation fault at level 3 > > (XEN) gva=fce06704 > > (XEN) gpa=000000004ae06704 > > Dom0 is trying to access to 4ae06704 which is not mapped. Do you know > where does this address come from (device tree, hardcoded, ...)? > > > (XEN) size=2 sign=0 write=0 reg=0 > > (XEN) eat=0 cm=0 s1ptw=0 dfsc=7 > > (XEN) dom0 IPA 0x000000004ae06704 > > (XEN) P2M @ 02fdbf80 mfn:0xfedfc > > (XEN) 1ST[0x1] = 0x00000000fedfe6ff > > (XEN) 2ND[0x57] = 0x00000000ac9796ff > > (XEN) 3RD[0x6] = 0x0000000000000000 > > (XEN) ----[ Xen-4.4-unstable arm32 debug=y Not tainted ]---- > > (XEN) CPU: 0 > > (XEN) PC: c0033410 > > To help you, you can use "addr2line -e vmlinux address" to find the > faulty line in linux. Where address is your pc. > > Cheers, > > -- > Julien Grall > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > http://lists.xen.org/xen-devel > --14dae947323151229a04e3c0c11d Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
Chen,

What I can say is that omap's= kernel accesses number of devices not actually listed in device-tree.
Yes, omap has real problems with support via dt, it still has a lot o= f stuff buried in board files. So you have to do manual mappings of IOMEM r= anges like it is done in=A0exynos5_specific_mapping().



Andrii Anisov | Software Engi= neer
GlobalLogic
Kyiv, 03038, Protasov Business Park,= M.Grinchenka, 2/1
P +38.044.492.9695x3664=A0 M +3= 80505738852 =A0S andriyanisov
www.globallogic.c= om

http://www.globallogic.com/email_disclaimer.txt


On Mon, Aug 12, 2013 at 3:47 PM, Julien = Grall <julien.grall@linaro.org> wrote:
On 08/12/2013 01:24 PM, Chen Baozi wrote:
> Hi Ian & Julien,
>
> I've added SMP "cpu kicking" & "mode switching&= quot; codes for OMAP5 today and
> trying to boot Xen on my board again. And it looks that I still got so= me
> work to do to boot my board.
>
> I attach the log in the end of mail. Any ideas for what I should have<= br> > missed?
>
> Cheers,
>
> Baozi
>
> ---
> Starting kernel ...
>
> - UART enabled -
> - CPU 00000000 booting -
> - Machine ID 00000ec1 -
> - Started in Hyp mode -
> - Zero BSS -
> - Setting up control registers -
> - Turning on paging -
> - Ready -
> fdt: node `cpu@0': invalid #address-cells or #size-cellsfdt: node = `cpu@1':
> - invalid #addref

Hum ... this is why Xen can't find the other cpus. Could you past= e the
content of the node cpus here?

> MODULE[1]: 00000000a0000000 - 00000000a0400000
> Placing Xen at 0x00000000fee00000-0x00000000ff000000
> Xen heap: 262144 pages =A0Dom heap: 258048 pages
> Looking for UART console serial2
> =A0__ =A0__ =A0 =A0 =A0 =A0 =A0 =A0_ =A0_ =A0 _ =A0_ =A0 =A0 =A0 =A0 = =A0 =A0 =A0 =A0 =A0 =A0 =A0_ =A0 =A0 =A0 =A0_ =A0 =A0 _
> =A0\ \/ /___ _ __ =A0 | || | | || | =A0 =A0 _ =A0 _ _ __ =A0___| |_ __= _| |__ | | ___
> =A0 \ =A0// _ \ '_ \ =A0| || |_| || |_ __| | | | '_ \/ __| __/= _` | '_ \| |/ _ \
> =A0 / =A0\ =A0__/ | | | |__ =A0 _|__ =A0 _|__| |_| | | | \__ \ || (_| = | |_) | | =A0__/
> =A0/_/\_\___|_| |_| =A0 =A0|_|(_) |_| =A0 =A0 \__,_|_| |_|___/\__\__,_= |_.__/|_|\___|
>
> (XEN) Xen version 4.4-unstable (cbz@) (arm-linux-gnueabihf-gcc (crosst= ool-NG
> linaro-1.13.3
> (XEN) Latest ChangeSet: Wed Aug 7 11:38:25 2013 +0800 git:47f28d7-dirt= y
> (XEN) Processor: "ARM Limited", variant: 0x2, part 0xc0f, re= v 0x2
> (XEN) 32-bit Execution:
> (XEN) =A0 Processor Features: 00001131:00011011
> (XEN) =A0 =A0 Instruction Sets: AArch32 Thumb Thumb-2 ThumbEE Jazelle<= br> > (XEN) =A0 =A0 Extensions: GenericTimer Security
> (XEN) =A0 Debug Features: 02010555
> (XEN) =A0 Auxiliary Features: 00000000
> (XEN) =A0 Memory Model Features: 10201105 20000000 01240000 02102211 > (XEN) =A0ISA Features: 02101110 13112111 21232041 11112131 10011142 00= 000000
> (XEN) Platform: TI OMAP5
> (XEN) Generic Timer IRQ: phys=3D30 hyp=3D26 virt=3D27
> (XEN) Using generic timer at 6144 KHz
> (XEN) GIC initialization:
> (XEN) =A0 =A0 =A0 =A0 gic_dist_addr=3D0000000048211000
> (XEN) =A0 =A0 =A0 =A0 gic_cpu_addr=3D0000000048212000
> (XEN) =A0 =A0 =A0 =A0 gic_hyp_addr=3D0000000048214000
> (XEN) =A0 =A0 =A0 =A0 gic_vcpu_addr=3D0000000048216000
> (XEN) =A0 =A0 =A0 =A0 gic_maintenance_irq=3D25
> (XEN) GIC: 192 lines, 2 cpus, secure (IID 0000043b).
> (XEN) Waiting for 0 other CPUs to be ready
> (XEN) Using scheduler: SMP Credit Scheduler (credit)
> (XEN) Allocated console ring of 16 KiB.
> (XEN) VFP implementer 0x41 architecture 4 part 0x30 variant 0xf rev 0x= 0
> (XEN) Brought up 1 CPUs
> (XEN) *** LOADING DOMAIN 0 ***
> (XEN) Populate P2M 0x80000000->0x90000000
> (XEN) Loading kernel from boot module 1
> (XEN) Loading zImage from 00000000a0000000 to
> 0000000080008000-00000000803f6d70
> (XEN) Loading dom0 DTB to 0x000000008fe00000-0x000000008fe04e46
> (XEN) Std. Loglevel: All
> (XEN) Guest Loglevel: All
> (XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times t= o switch input to
> Xen)
> (XEN) Freed 220kB init memory.
> (XEN) Guest data abort: Translation fault at level 3
> (XEN) =A0 =A0 gva=3Dfce06704
> (XEN) =A0 =A0 gpa=3D000000004ae06704

Dom0 is trying to access to 4ae06704 which is not mapped. Do yo= u know
where does this address come from (device tree, hardcoded, ...)?

> (XEN) =A0 =A0 size=3D2 sign=3D0 write=3D0 reg=3D0
> (XEN) =A0 =A0 eat=3D0 cm=3D0 s1ptw=3D0 dfsc=3D7
> (XEN) dom0 IPA 0x000000004ae06704
> (XEN) P2M @ 02fdbf80 mfn:0xfedfc
> (XEN) 1ST[0x1] =3D 0x00000000fedfe6ff
> (XEN) 2ND[0x57] =3D 0x00000000ac9796ff
> (XEN) 3RD[0x6] =3D 0x0000000000000000
> (XEN) ----[ Xen-4.4-unstable =A0arm32 =A0debug=3Dy =A0Not tainted ]---= -
> (XEN) CPU: =A0 =A00
> (XEN) PC: =A0 =A0 c0033410

To help you, you can use "addr2line -e vmlinux address" to = find the
faulty line in linux. Where address is your pc.

Cheers,

--
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.x= en.org/xen-devel

--14dae947323151229a04e3c0c11d-- --===============3401672624547108986== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel --===============3401672624547108986==--