[U-Boot-Users] [PATCH] ppc4xx: Add dcache_enable() for 440
Wolfgang Denk
wd at denx.de
Mon Apr 21 09:44:12 CEST 2008
Dear Stefan,
in message <200804210729.53635.sr at denx.de> you wrote:
>
> > I don't like to see these either, but it's better than lying in the
> > face of the user.
>
> 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 :-)
> > > 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.
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.
> > 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.
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
There's no sense in being precise when you don't even know what
you're talking about. -- John von Neumann
More information about the U-Boot
mailing list