[U-Boot] [PATCH 07/20] arm: Avoid error messages in cache_v7

Marek Vasut marex at denx.de
Sat May 14 23:41:17 CEST 2016


On 05/14/2016 11:22 PM, Simon Glass wrote:
> Hi Marek,

Hi!

> On 14 May 2016 at 14:23, Marek Vasut <marex at denx.de> wrote:
>> On 05/14/2016 10:02 PM, Simon Glass wrote:
>>> Move these to debug() like the one in check_cache range(), to save SPL space.
>>
>> This hides cache problems, which were visibly reported so far.
>> I am opposed to this patch.
> 
> Sure, but see check_cache_range(). It uses debug(). In fact I found
> the at91 cache problem only after trying #define DEBUG in the code
> there.

Which is the reason we should really be vocal about such cache misuse.
I had a few of such cache problems bite me too, which is why I would
like to avoid silencing this warning with debug() by default.

I think check_cache_range() should also be fixed and should use printf()
by default.

>>
>> Wouldn't it make more sense to completely disable printf() and co.
>> in SPL if you're after saving space?
> 
> Or maybe we need something that prints a message in U-Boot proper, but
> not SPL? I'll take a look.

But what if you trigger the issue only in SPL ?

>>
>>> Signed-off-by: Simon Glass <sjg at chromium.org>
>>> ---
>>>
>>>  arch/arm/cpu/armv7/cache_v7.c | 8 ++++----
>>>  1 file changed, 4 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/arch/arm/cpu/armv7/cache_v7.c b/arch/arm/cpu/armv7/cache_v7.c
>>> index dc309da..68cf62e 100644
>>> --- a/arch/arm/cpu/armv7/cache_v7.c
>>> +++ b/arch/arm/cpu/armv7/cache_v7.c
>>> @@ -66,8 +66,8 @@ static void v7_dcache_inval_range(u32 start, u32 stop, u32 line_len)
>>>        * invalidate the first cache-line
>>>        */
>>>       if (start & (line_len - 1)) {
>>> -             printf("ERROR: %s - start address is not aligned - 0x%08x\n",
>>> -                     __func__, start);
>>> +             debug("ERROR: %s - start address is not aligned - 0x%08x\n",
>>> +                   __func__, start);
>>>               /* move to next cache line */
>>>               start = (start + line_len - 1) & ~(line_len - 1);
>>>       }
>>> @@ -77,8 +77,8 @@ static void v7_dcache_inval_range(u32 start, u32 stop, u32 line_len)
>>>        * invalidate the last cache-line
>>>        */
>>>       if (stop & (line_len - 1)) {
>>> -             printf("ERROR: %s - stop address is not aligned - 0x%08x\n",
>>> -                     __func__, stop);
>>> +             debug("ERROR: %s - stop address is not aligned - 0x%08x\n",
>>> +                   __func__, stop);
>>>               /* align to the beginning of this cache line */
>>>               stop &= ~(line_len - 1);
>>>       }
>>>
>>
>>
>> --
>> Best regards,
>> Marek Vasut
> 
> 
> Regards,
> Simon
> 


-- 
Best regards,
Marek Vasut


More information about the U-Boot mailing list