public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Albert ARIBAUD <albert.u.boot@aribaud.net>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] arm: mmu: Add missing volatile for reading SCTLR register
Date: Thu, 15 Oct 2015 15:41:44 +0200	[thread overview]
Message-ID: <20151015154144.02aef71a@lilith> (raw)
In-Reply-To: <1441765322-33308-1-git-send-email-b18965@freescale.com>

Hello Alison,

Sorry for the late comment.

On Wed, 9 Sep 2015 10:22:02 +0800, Alison Wang <b18965@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.

Amicalement,
-- 
Albert.

  reply	other threads:[~2015-10-15 13:41 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-09  2:22 [U-Boot] [PATCH] arm: mmu: Add missing volatile for reading SCTLR register Alison Wang
2015-10-15 13:41 ` Albert ARIBAUD [this message]
2015-10-16  4:59   ` Huan Wang
2015-10-16  5:59 ` Albert ARIBAUD

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=20151015154144.02aef71a@lilith \
    --to=albert.u.boot@aribaud.net \
    --cc=u-boot@lists.denx.de \
    /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