Hello Albert, > On Wed, 9 Sep 2015 10:22:02 +0800, Alison Wang <b18...@freescale.com> > wrote: > > When building u-boot with the latest Linaro toolchain, such as > > gcc-linaro-4.9, u-boot will hang at PCIE init on LS1021A platform. > > The issue is reported on > > http://comments.gmane.org/gmane.linux.linaro.toolchain/5163. > > > > As volatile is missing when reading SCTLR register and SCTLR is set > > according to the value read from SCTLR, it causes CR_M bit is not set. > > Then MMU is not enabled, the access to VA for PCIE fails. > > This comment seems misleading to me: it appears to imply that the > "volatile" qualifier is added to alter the semantics of the mrc > statement, whereas it is added only to prevent the compiler from > optimizing out the whole asm statement and making get_cr() return > garbage. > > I would prefer a commit message such as: > > Add 'volatile' qualifier to the asm statement in get_cr() > so that the statement is not optimized out by the compiler. > > Without the 'volatile', get_cr() returns a wrong value which > prevents enabling the MMU and later causes a PCIE VA access > failure. > > If this is fine with you, I'll apply the patch with the comment altered > as above. > [Alison Wang] Your commit message is clear and fine with me, please use it. Thanks a lot. :)
Best Regards, Alison Wang _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot