Common ARM context save/restore code

Amit Kucheria amit.kucheria at linaro.org
Tue Oct 12 11:04:01 UTC 2010


Jon,

I'm sure you anticipated this - What is your plan for pushing this out
to the kernel? :)

And how can we help?

On Tue, Oct 12, 2010 at 1:39 PM, Jon Callan <Jon.Callan at arm.com> wrote:
> Vishwa,
>
> I have a more-or-less complete set of example code for CPU context save/restore, currently supporting A5/A8/A9 and with planned support for Eagle.
>
> It is structured as "firmware" at the moment, but it would be much better if it was integrated into the ARM Linux kernel. The idea is the kernel calls it from CPUidle, and it saves all CPU context and cuts the power. Then when power returns, it restores all CPU context and returns to the kernel as if nothing has happened.
>
> It handles just the CPU and cluster context, which on A9mpcore includes MMU, GIC, VFP, SCU, L2cc, Debug, etc. It takes care of cleaning caches and entering/leaving the coherency domain. There is also support for TrustZone, but as you say that's quite platform-specific.
>
> So we would need to integrate this with the SoC-specific code somehow.

So you need to refactor these to an ARM-common driver and SoC-specific stubs?

/Amit



More information about the linaro-dev mailing list