[PATCH v3] ARM: L2 : Errata 588369: Clean & Invalidate do not invalidate clean lines

Russell King - ARM Linux linux at arm.linux.org.uk
Mon Jan 11 10:23:33 EST 2010


On Mon, Jan 11, 2010 at 08:48:37PM +0530, Shilimkar, Santosh wrote:
> Thanks for cooments !!
> > -----Original Message-----
> > From: Catalin Marinas [mailto:catalin.marinas at arm.com]
> > Sent: Monday, January 11, 2010 8:07 PM
> > To: Shilimkar, Santosh
> > Cc: linux at arm.linux.org.uk; linux-arm-kernel at lists.infradead.org; linux-omap at vger.kernel.org;
> > tony at atomide.com; Woodruff, Richard
> > Subject: Re: [PATCH v3] ARM: L2 : Errata 588369: Clean & Invalidate do not invalidate clean lines
> >
> > Does your secure monitor corrupt r4-r8? Maybe you could add a comment
> > with a few words on this API.
>
> Yes they are corrupted. I will add some comments on the API.
>
> > Do you need to specify "r12" as well? What about "cc", are they
> > preserved by the secure monitor?
>
> r12 and reset of the registers are preserved. Lr needs to be saved but
> because of function call, the compiler saves/restores it.

That's not guaranteed; the compiler can re-use lr for its own purposes
within a function.  You need to add lr to the list of clobbered registers.

> I didn't get your this comment "What about "cc", are they preserved
> by the secure monitor ?  Do you mean rest of the register. If yes then
> the secure monitor don't tamper those registers.

No - Catalin means are the NZCV flags changed by the secure monitor, or
are they preserved?  If they're preserved, you don't need a "cc" clobber.
If they're not preserved, you do.



More information about the linux-arm-kernel mailing list