1*6732bc65SLorenzo Pieralisi #ifndef __ASM_SUSPEND_H 2*6732bc65SLorenzo Pieralisi #define __ASM_SUSPEND_H 3*6732bc65SLorenzo Pieralisi 4*6732bc65SLorenzo Pieralisi #define NR_CTX_REGS 11 5*6732bc65SLorenzo Pieralisi 6*6732bc65SLorenzo Pieralisi /* 7*6732bc65SLorenzo Pieralisi * struct cpu_suspend_ctx must be 16-byte aligned since it is allocated on 8*6732bc65SLorenzo Pieralisi * the stack, which must be 16-byte aligned on v8 9*6732bc65SLorenzo Pieralisi */ 10*6732bc65SLorenzo Pieralisi struct cpu_suspend_ctx { 11*6732bc65SLorenzo Pieralisi /* 12*6732bc65SLorenzo Pieralisi * This struct must be kept in sync with 13*6732bc65SLorenzo Pieralisi * cpu_do_{suspend/resume} in mm/proc.S 14*6732bc65SLorenzo Pieralisi */ 15*6732bc65SLorenzo Pieralisi u64 ctx_regs[NR_CTX_REGS]; 16*6732bc65SLorenzo Pieralisi u64 sp; 17*6732bc65SLorenzo Pieralisi } __aligned(16); 18*6732bc65SLorenzo Pieralisi #endif 19