[U-Boot] [PATCH 1/3] ARM: implement some Cortex-A9 errata workarounds

Stephen Warren swarren at wwwdotorg.org
Thu Feb 28 01:36:15 CET 2013


On 02/27/2013 05:30 PM, Simon Glass wrote:
> On Tue, Feb 26, 2013 at 2:28 PM, Stephen Warren <swarren at wwwdotorg.org> wrote:
>> From: Stephen Warren <swarren at nvidia.com>
>>
>> Various errata exist in the Cortex-A9 CPU, and may be worked around by
>> setting some bits in a CP15 diagnostic register. Add code to implement
>> the workarounds, enabled by new CONFIG_ options.
>>
>> This code was taken from the Linux kernel, v3.8, arch/arm/mm/proc-v7.S,
>> and modified to remove the logic to conditionally apply the WAR (since we
>> know exactly which CPU we're running on given the U-Boot configuration),
>> and use r0 instead of r10 for consistency with the rest of U-Boot's
>> cpu_init_cp15().
>>
>> Signed-off-by: Stephen Warren <swarren at nvidia.com>
> 
> Acked-by: Simon Glass <sjg at chromium.org>
> 
> Good to have. Although I wonder why we wouldn't want to probe it in
> U-Boot as with Linux?

I figured it wasn't worth the complexity initially. Right now, U-Boot is
built for a specific board (or just perhaps a small set of almost
identical boards), so we know exactly which CPU rev is present. If this
becomes false (e.g. DT works so well we can do a combined
Tegra20+Tegra30 U-Boot), we can always add the conditional logic in when
we need it.


More information about the U-Boot mailing list