On Tue, 2014-01-14 at 15:59 +0800, Dongsheng Wang wrote: > From: Wang Dongsheng <dongsheng.w...@freescale.com> > > Add fsl_cpu_state_save/fsl_cpu_state_restore functions, used for deep > sleep and hibernation to save/restore core registers. We abstract out > save/restore code for use in various modules, to make them don't need > to maintain. > > Currently supported processors type are E6500, E5500, E500MC, E500v2 and > E500v1. > > Signed-off-by: Wang Dongsheng <dongsheng.w...@freescale.com>
What is there that is specfic to a particular core type that can't be handled from C code? > + /* > + * Need to save float-point registers if MSR[FP] = 1. > + */ > + mfmsr r12 > + andi. r12, r12, MSR_FP > + beq 1f > + do_sr_fpr_regs(save) C code should have already ensured that MSR[FP] is not 1 (and thus the FP context has been saved). > +/* > + * r3 = the virtual address of buffer > + * r4 = suspend type, 0-BASE_SAVE, 1-ALL_SAVE #define these magic numbers, and define what is meant by "base save" versus "all save". -Scott _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev