xref: /linux/arch/arm64/include/asm/suspend.h (revision 6732bc65c277b697f6d8b645b15f63d1558c0cc4)
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