[U-Boot-Users] [PATCH] ppc4xx: Add dcache_enable() for 440
Stefan Roese
sr at denx.de
Mon Apr 21 10:23:57 CEST 2008
Hi Wolfgang,
On Monday 21 April 2008, Wolfgang Denk wrote:
> > Please note that it is not so easy on 440 to even define *what exactly*
> > the functions/commands d/icache_en/disable mean. This is because 440 has
> > MMU support and we can have different cache setups for all TLB entries.
> > So to which TLB entries should these functions refer? Just those mapping
> > SDRAM? And/or FLASH? And/or internal SRAM? ...
>
> You are the 440 expert, not me :-)
This has nothing to do with 440. It's more a general question. But OK, from my
understanding, it makes most sense that the i/dcache U-Boot commands touch
the cache attributes of all SDRAM related TLB's.
> > > > you are you asking for additional changes too. Are you asking me to
> > > > remove (a) all dummy cache entries or (b) to support *real* cache
> > > > suppo> rt functions for 440? (a) would lead as explained above to
> > > > bigger code changes in the common code and (b) is extremely difficult
> > > > and I just ha> ve no time for such a thing currently.
> > >
> > > Yes, let's do either (a) or (b). There is no other choice.
> >
> > From my point of view, both "solutions" should not be done outside of a
> > merge-window. I'll try to find some time to implement on of those options
> > in the next weeks. But perhaps somebody else has more "free time" and
> > sends patches to implement (and test) this stuff.
>
> I agree that it is probably not possible to fix this right now,
> especially since the actual problem is older, it just became visible
> now.
I knew they existed and still thing this is no problem. But we seem to
disagree here.
> But I insist that this must be fixed for the next release - and
> actually it seems to be a good thing to really enable the instruction
> cache - this would allow to speed up booting on 440 systems quite a
> bit.
You might remember that I mentioned that this currently existing cache support
for 440 is not finished yet. There are still some issues, for example some
drivers like USB won't work currently with d-cache enabled. This is the
reason that I didn't enable this option for any of the 4xx boards that I
maintain. Please note that I already spent some days of my "free time" to
this cache support on 440. Matthias Fuchs also has contributed here.
And what does this mean that you "insist that this must be fixed for the next
release"? I'm sorry, but I personally can't promise to "fix" this issue until
the next merge window opens.
> > > This still leaves the problem of the current "implementation" of the
> > > other stubs. Please note that as is, we even have *random* behaviour
> > > of the code, as the functions are supposed to return the cache
> > > status, but no return value gets loaded.
> >
> > I don't see such a problem with *random* behavior. d/icache_status return
> > 0 on 440.
>
> Ah, you are right. I thought that the {i,d}cache_{en,dis}able()
> functions returned a status, but they are indeed void. Sorry for the
> false alarm.
OK.
Best regards,
Stefan
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de
=====================================================================
More information about the U-Boot
mailing list