From: Catalin Marinas <catalin.marinas@arm.com>
To: "Woodruff, Richard" <r-woodruff2@ti.com>
Cc: Ben Dooks <ben-linux@fluff.org>, Paul Walmsley <paul@pwsan.com>,
"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
"linux-arm-kernel@lists.arm.linux.org.uk"
<linux-arm-kernel@lists.arm.linux.org.uk>
Subject: RE: [PATCH] ARM MMU: add strongly-ordered memory type
Date: Thu, 07 Aug 2008 17:55:26 +0100 [thread overview]
Message-ID: <1218128126.7718.50.camel@pc1117.cambridge.arm.com> (raw)
In-Reply-To: <13B9B4C6EF24D648824FF11BE89671620361F4E50C@dlee02.ent.ti.com>
> On Wed, 2008-08-06 at 07:28 -0500, Woodruff, Richard wrote:
> > > The code need to execute in a non-cached region.
> >
> > I don't think there is any guarantee that dirty cache line won't be
> > evicted to SDRAM even if your code uses uncached memory only. The CPU
> > is
> > allowed to do speculative reads from the normal cached memory and
> > these
> > reads may force a dirty cache line to be written back to memory. You
> > may
> > need to do at least a cache clean operation (invalidate not necessary).
>
> I hope that is not necessary.
Probably not but need to check internally as well.
> As I indicated the code in question is small assembly dealing with
> hardware registers for clock and power.
>
> This code at one point did make sure use barriers at entry which
> hopefully stop the ARM from being smart. Also things like speculative
> access at the AXI were turned off.
You would need a DSB at the beginning to drain the write buffer (among
other things)
> And perhaps you even make my point in 'The CPU is allowed to do
> speculative reads from normal-cached-memory'.
> !! I don't want some speculative branch prediction to fetch
> from who knows where when I've temporally shut off the memory
> controller !!
If you have a DMB at the end of your code, this ensures that all memory
accesses after the DMB (i.e. accesses to the SDRAM) are visible after
accesses before the barrier (i.e. the enabling of the SDRAM controller).
--
Catalin
next prev parent reply other threads:[~2008-08-07 16:56 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-04 23:40 [PATCH] ARM MMU: add strongly-ordered memory type Paul Walmsley
2008-08-05 11:49 ` Ben Dooks
2008-08-05 12:15 ` Woodruff, Richard
2008-08-06 10:20 ` Catalin Marinas
2008-08-06 12:28 ` Woodruff, Richard
2008-08-07 16:55 ` Catalin Marinas [this message]
2008-08-07 6:01 ` Paul Walmsley
2008-08-07 16:45 ` Catalin Marinas
2008-08-08 8:45 ` Paul Walmsley
2008-08-06 9:53 ` Catalin Marinas
2008-08-06 12:21 ` Woodruff, Richard
2008-08-07 7:30 ` Russell King - ARM Linux
2008-08-07 16:01 ` Catalin Marinas
2008-08-07 18:56 ` Woodruff, Richard
2008-08-07 19:25 ` Russell King - ARM Linux
2008-08-07 20:38 ` Woodruff, Richard
2008-08-07 21:20 ` Russell King - ARM Linux
2008-08-07 21:59 ` Russell King - ARM Linux
2008-08-07 23:07 ` Woodruff, Richard
2008-08-08 7:16 ` Russell King - ARM Linux
2008-08-08 11:44 ` Catalin Marinas
2008-08-08 13:19 ` Russell King - ARM Linux
2008-08-08 16:40 ` Catalin Marinas
2008-08-11 7:50 ` Paul Walmsley
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=1218128126.7718.50.camel@pc1117.cambridge.arm.com \
--to=catalin.marinas@arm.com \
--cc=ben-linux@fluff.org \
--cc=linux-arm-kernel@lists.arm.linux.org.uk \
--cc=linux-omap@vger.kernel.org \
--cc=paul@pwsan.com \
--cc=r-woodruff2@ti.com \
/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