reboot not working on linux-2.6.37 for ARMv7

Russell King - ARM Linux linux at arm.linux.org.uk
Fri Feb 11 07:03:05 EST 2011


On Fri, Feb 11, 2011 at 05:01:06PM +0530, shiraz hashim wrote:
> Hi,
> 
> I am using linux-2.6.37 on our ARM Cortex A9 (dual core) SMP platform
> with PL310 as Level 2 cache. We observe that on reboot the control
> is not able to reach to the arch_reset.
> 
> The problem happens when L1 cache is disabled in
> arm_machine_restart, through cpu_proc_fin() and L2 cache is flushed.

Where's the L2 cache flush?  The sequence is:

        /* Clean and invalidate caches */
        flush_cache_all();
        /* Turn off caching */
        cpu_proc_fin();
        /* Push out any further dirty data, and ensure cache is empty */
        flush_cache_all();

and flush_cache_all() calls v7_flush_kern_cache_all() in
arch/arm/mm/cache-v7.S.

I do hope you're not modifying flush_cache_all() to also call the L2
cache functions because that's wrong.



More information about the linux-arm-kernel mailing list