[RFC PATCH 07/12] arm: mm: support error reporting in L1/L2 caches on QSD
Pavel Machek
pavel at ucw.cz
Fri Jan 29 01:45:21 EST 2010
On Thu 2010-01-28 14:59:32, Daniel Walker wrote:
> From: Steve Muckle <smuckle at quicinc.com>
>
> The Scorpion processor supports reporting L2 errors, L1 icache parity
> errors, and L1 dcache parity errors as imprecise external aborts. If
> this option is not enabled these errors will go unreported and data
> corruption will occur.
>
> Signed-off-by: Steve Muckle <smuckle at quicinc.com>
> Signed-off-by: Daniel Walker <dwalker at codeaurora.org>
> ---
> arch/arm/mm/Kconfig | 8 ++++++++
> arch/arm/mm/proc-v7.S | 8 ++++++++
> 2 files changed, 16 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig
> index baf6384..8ae3fce 100644
> --- a/arch/arm/mm/Kconfig
> +++ b/arch/arm/mm/Kconfig
> @@ -687,6 +687,14 @@ config CPU_DCACHE_SIZE
> If your SoC is configured to have a different size, define the value
> here with proper conditions.
>
> +config CPU_CACHE_ERR_REPORT
> + bool "Report errors in the L1 and L2 caches"
> + depends on ARCH_MSM_SCORPION
> + default y
> + help
> + Say Y here to have errors in the L1 and L2 caches reported as
> + imprecise data aborts.
> +
> config CPU_DCACHE_WRITETHROUGH
> bool "Force write through D-cache"
> depends on (CPU_ARM740T || CPU_ARM920T || CPU_ARM922T || CPU_ARM925T || CPU_ARM926T || CPU_ARM940T || CPU_ARM946E || CPU_ARM1020 || CPU_FA526) && !CPU_DCACHE_DISABLE
> diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S
> index 3ca5d29..299c8cb 100644
> --- a/arch/arm/mm/proc-v7.S
> +++ b/arch/arm/mm/proc-v7.S
> @@ -246,6 +246,14 @@ __v7_setup:
> #ifdef CONFIG_ARCH_MSM_SCORPION
> mov r0, #0x77
> mcr p15, 3, r0, c15, c0, 3 @ set L2CR1
> +
> + mrc p15, 0, r0, c1, c0, 1 @ read ACTLR
> +#ifdef CONFIG_CPU_CACHE_ERR_REPORT
> + orr r0, r0, #0x37 @ turn on L1/L2 error reporting
> +#else
> + bic r0, r0, #0x37
> +#endif
> + mcr p15, 0, r0, c1, c0, 1 @ write ACTLR
> #endif
Does it need to be configurable? Why not always Y?
msm has _way_ too many config options already.
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
More information about the linux-arm-kernel
mailing list