[U-Boot] [PATCH v1 1/4] MIPS: cache: reimplement dcache_[status, enable, disable]

Stefan Roese sr at denx.de
Tue Sep 11 14:30:07 UTC 2018


On 11.09.2018 16:12, Daniel Schwierzeck wrote:
> Am Mo., 10. Sep. 2018 um 07:34 Uhr schrieb Stefan Roese <sr at denx.de>:
>>
>> Hi Daniel,
>>
>> On 07.09.2018 19:02, Daniel Schwierzeck wrote:
>>> Those functions are not needed during cache init and can be
>>> implemented in C. Only support the safe disabling of caches when
>>> this is required for booting an OS. Reenabling caches is much
>>> harder to implement if an optional coherency manager must be
>>> supported. As there is no real use-case anyway, dcache_enable
>>> is implemented with an error message.
>>>
>>> Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck at gmail.com>
>>
>> Many thanks for working on this. I'll be doing some more test
>> later this week using this series. One comment though directly:
>>
>> A few weeks ago I wanted to enable the "cache" cmd (CMD_CACHE)
>> on my MT7688 MIPS platform. Unfortunately some I-Cache functions
>> are missing for this:
>>
>> building ...
>> cmd/built-in.o: In function `do_icache':
>> cmd/cache.c:(.text.do_icache+0x48): undefined reference to `icache_disable'
>> cmd/cache.c:(.text.do_icache+0x68): undefined reference to `icache_enable'
>> cmd/cache.c:(.text.do_icache+0x88): undefined reference to `icache_status'
>> Makefile:1350: recipe for target 'u-boot' failed
>>
>> Would it be possible to add those functions as well to this
>> series (or some follow-up patch)? Using the cache cmd can be
>> quite helpful while testing / debugging.
>>
> 
> The problem is that you can't independently disable I-Cache and
> D-Cache on MIPS.

Why is this the case? Can't the I-Cache be disabled at all? Or
is it just not possible (or complex) while running with I-Cache
enabled?

> I could add them as dummy functions or with the same
> implementation as dcache_*

That's perhaps a pragmatic work-around - if the I-Cache can't be
disabled at all.

Thanks,
Stefan


More information about the U-Boot mailing list