[U-Boot] [RFC PATCH] arm: arm926ejs: flush cache before disable it

Albert ARIBAUD
2013-07-12T07:35:19Z

Hi Sughosh,

On Wed, 10 Jul 2013 23:04:45 +0530, Sughosh Ganu
<urwithsughosh@gmail.com> wrote:

> hi Albert,
>
> On Wed Jul 10, 2013 at 02:30:30PM +0200, Albert ARIBAUD wrote:
>
> > > > You are correct re the other policies of the DDI0198E (ARM926EJ-S
> > > > TRM) MMU -- page 3-11, bits 3-2 of the section descriptor. Note however
> > > > that you may have to refer to your specific SoC's TRM or equivalent, as
> > > > the SoC designer may have defined its own system-level cache and MMU
> > > > architecture.
> > > >
> > > > Note in any case that none of the policies mentioned in DDI0198E is
> > > > described as read-allocate (let alone "read-allocate only" where writes
> > > > would bypass the enabled cache); on the contrary, the only cache
> > > > policies mentioned are write-through and write-back, both of which
> > > > contradict cache bypass on write.
> > >
> > > I was referring to the cache allocation policy mentioned in section
> > > 4.1 in the DDI0198E document -- this is also mentioned in table 12.1
> > > in chapter 12 of the arm developers guide.
> >
> > Can you please quote the exact part of 4.1 which describes the cache
> > policy and then explain what you think it means exactly?
>
> I was referring to this particular point in section 4.1
> "Allocate on read-miss is supported. The caches perform critical-word
> first cache refilling."

This is not equivalent to "the cache policy is read-allocate".

This paragraph does not specify the cache's general policy, only a read
policy, and only the *read allocation* policy. Its write policies are
not defined or even constrained by this paragraph.

> Based on the cache line allocation policies described in section
> 12.3.3 in the arm developers guide, my interpretation of 'allocate on
> read-miss' was as above.

The ARM926EJ-S is "allocate on read-miss" as well as "allocate on
write-miss"; and none of its write policies bypasses the cache.

> -sughosh

Amicalement,
--
Albert.