[patch 2/2] arm: Implement l2x0 cache disable function

srinidhi srinidhi.kasagar at stericsson.com
Fri Jul 2 07:23:21 EDT 2010


> ---------- Forwarded message ----------
> From: Thomas Gleixner <tglx at linutronix.de>
> Date: Thu, Jul 1, 2010 at 9:35 PM
> Subject: [patch 2/2] arm: Implement l2x0 cache disable function
> To: LAK <linux-arm-kernel at lists.infradead.org>
> Cc: Catalin Marinas <catalin.marinas at arm.com>
> 
> 
> This function is called from kexec code before the inner caches are
> disabled to prevent random crashes in the new kernel.
> 
> Signed-off-by: Thomas Gleixner <tglx at linutronix.de>
> Index: linux-2.6/arch/arm/mm/cache-l2x0.c
> ===================================================================
> --- linux-2.6.orig/arch/arm/mm/cache-l2x0.c
> +++ linux-2.6/arch/arm/mm/cache-l2x0.c
> @@ -206,6 +206,12 @@ static void l2x0_flush_range(unsigned lo
>        spin_unlock_irqrestore(&l2x0_lock, flags);
>  }
> 
> +static void l2x0_cache_disable(void)
> +{
> +       l2x0_inv_all();
> +       writel(0, l2x0_base + L2X0_CTRL);
> +}

I think it's a problem for PL310 controller where the access to
L2X0_CTRL is secure, accessing this in non-secure mode will fault.

Srinidhi







More information about the linux-arm-kernel mailing list