[PATCH 1/2] powerpc: add Book E support to 64-bit hibernation

Scott Wood scottwood at freescale.com
Tue Jun 18 10:01:23 EST 2013


On 06/17/2013 12:54:32 AM, Wang Dongsheng-B40534 wrote:
> 
> 
> > -----Original Message-----
> > From: Wood Scott-B07421
> > Sent: Friday, June 14, 2013 12:51 AM
> > To: Wang Dongsheng-B40534
> > Cc: Wood Scott-B07421; benh at kernel.crashing.org;
> > johannes at sipsolutions.net; anton at enomsg.org;  
> galak at kernel.crashing.org;
> > linuxppc-dev at lists.ozlabs.org
> > Subject: Re: [PATCH 1/2] powerpc: add Book E support to 64-bit
> > hibernation
> >
> > On 06/13/2013 04:55:43 AM, Wang Dongsheng-B40534 wrote:
> > > > > +#else
> > > > > +	/* Save SPRGs */
> > > > > +	RESTORE_SPRG(0)
> > > > > +	RESTORE_SPRG(1)
> > > > > +	RESTORE_SPRG(2)
> > > > > +	RESTORE_SPRG(3)
> > > > > +	RESTORE_SPRG(4)
> > > > > +	RESTORE_SPRG(5)
> > > > > +	RESTORE_SPRG(6)
> > > > > +	RESTORE_SPRG(7)
> > > >
> > > > Why do we need this on book3e and not on book3s?
> > > >
> > > Book3e: SPRG1 used save paca, SPRG2 be defined
> > > SPRN_SPRG_TLB_EXFRAME,...
> > > I think those register should be save, even now some SPRG  
> register not
> > > be use.
> >
> > Are those expected/allowed to change as a result of the restore?
> >
> Those registers are used by software, some allowed to change.
> Exception handling is used in some registers, see exception-64e.h
> These registers can be modified and saved.

I really doubt the exception scratch registers need to be saved --  
we're not trying to restore into the middle of an exception  
prolog/epilog.

book3s has the PACA as well and they don't save it.  Don't we rely on  
things like boot-time memory allocations happening in the same place  
when we resume?  extlb is part of the PACA, so the same applies.

Granted, this isn't performance critical so it may seem better to  
save/restore just in case, but there's value in not unnecessarily  
deviating from what book3s does.

-Scott


More information about the Linuxppc-dev mailing list