1 /* 2 * Annapurna labs cpu-resume register structure. 3 * 4 * Copyright (C) 2015 Annapurna Labs Ltd. 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 2 of the License, or 9 * (at your option) any later version. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 */ 16 17 #ifndef ALPINE_CPU_RESUME_H_ 18 #define ALPINE_CPU_RESUME_H_ 19 20 /* Per-cpu regs */ 21 struct al_cpu_resume_regs_per_cpu { 22 uint32_t flags; 23 uint32_t resume_addr; 24 }; 25 26 /* general regs */ 27 struct al_cpu_resume_regs { 28 /* Watermark for validating the CPU resume struct */ 29 uint32_t watermark; 30 uint32_t flags; 31 struct al_cpu_resume_regs_per_cpu per_cpu[]; 32 }; 33 34 /* The expected magic number for validating the resume addresses */ 35 #define AL_CPU_RESUME_MAGIC_NUM 0xf0e1d200 36 #define AL_CPU_RESUME_MAGIC_NUM_MASK 0xffffff00 37 38 #endif /* ALPINE_CPU_RESUME_H_ */ 39