0001
0002
0003
0004
0005
0006
0007 #ifndef _ASM_X86_SUSPEND_32_H
0008 #define _ASM_X86_SUSPEND_32_H
0009
0010 #include <asm/desc.h>
0011 #include <asm/fpu/api.h>
0012
0013
0014 struct saved_context {
0015
0016
0017
0018
0019 u16 gs;
0020 unsigned long cr0, cr2, cr3, cr4;
0021 u64 misc_enable;
0022 struct saved_msrs saved_msrs;
0023 struct desc_ptr gdt_desc;
0024 struct desc_ptr idt;
0025 u16 ldt;
0026 u16 tss;
0027 unsigned long tr;
0028 unsigned long safety;
0029 unsigned long return_address;
0030 bool misc_enable_saved;
0031 } __attribute__((packed));
0032
0033
0034 extern char core_restore_code[];
0035 extern char restore_registers[];
0036
0037 #endif