From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chen Baozi Subject: Re: Problems when using latest git tree to boot xen on OMAP5 Date: Mon, 7 Oct 2013 23:28:15 +0800 Message-ID: <008921C2-DB5D-419E-ADCB-B771B85C4392@gmail.com> References: <936C837B-7005-4CE0-8265-7B7ACA7C78FD@gmail.com> <91879A6F-B459-4D10-A691-4A04915D82AA@gmail.com> <1381135195.21562.56.camel@kazak.uk.xensource.com> <525285B3.8010902@gmail.com> <52529404.8030909@linaro.org> Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\)) Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <52529404.8030909@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: Ian Campbell , List Xen Developer List-Id: xen-devel@lists.xenproject.org On Oct 7, 2013, at 6:59 PM, Julien Grall wrote: > On 10/07/2013 10:58 AM, Chen Baozi wrote: >> On 10/07/2013 04:39 PM, Ian Campbell wrote: >>> >>> It is certainly a bug in the kernel if it is accessing something which >>> is disabled. It may also independently be a bug in the dts that this >>> devices is disabled. >>> >>> However in v3.12-rc4 I don't see mmc@480d1000 being disabled in >>> omap5-uevm.dts and I can't see anything in the history of that file >>> either. Where did your copy come from? >> >> I'm currently working on the "omap5-v3.11-rc3" branch from >> git://github.com/rogerq/linux.git, which contains a few necessary >> platform patches not upstreamed. In omap5-uevm.dts, there are lines like: >> >> 253 &mmc4 { >> 254 status = "disabled"; >> 255 }; >> 256 >> 257 &mmc5 { >> 258 status = "disabled"; >> 259 }; >> >> the mmc4 refers to mmc@480d1000, which defines at omap5.dtsi: >> >> 417 mmc4: mmc@480d1000 { >> >> I checked Linus' mainline git tree. It is the same about disabled mmc4 >> in omap5-uevm.dts. And the change is introduced in commit 5dd18b0 of the >> mainline kernel. >> >> Anyway, I'll see what exactly happened in the dom0 kernel dealing with >> those "disabled" regions. > > I looked at the Linux code. It will populate the different devices via > the of_platform_populate (drivers/of/platform.c). > > This function checks in of_platform_create_pdata if the device is > available. So the mmc driver (driver/mmc/host/omap_hsmmc.c) should not > be called for mmc4. > > Can you find who generates the data abort? You can use addr2line for > this purpose. addr2line would lead to __raw_readl() in arch/arm/include/asm/io.h. So it doesn't that useful. I guess omap platform codes access the memory address when doing low-level setup and there are some hard coded address in its implementation. Note that there are hard coded "mmc4" structure in arch/arm/mach-omap2/omap_hwmod_54xx_data.c Cheers, Baozi