root/arch/x86/include/asm/suspend_32.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 /*
   3  * Copyright 2001-2002 Pavel Machek <pavel@suse.cz>
   4  * Based on code
   5  * Copyright 2001 Patrick Mochel <mochel@osdl.org>
   6  */
   7 #ifndef _ASM_X86_SUSPEND_32_H
   8 #define _ASM_X86_SUSPEND_32_H
   9 
  10 #include <asm/desc.h>
  11 #include <asm/fpu/api.h>
  12 
  13 /* image of the saved processor state */
  14 struct saved_context {
  15         /*
  16          * On x86_32, all segment registers, with the possible exception of
  17          * gs, are saved at kernel entry in pt_regs.
  18          */
  19 #ifdef CONFIG_X86_32_LAZY_GS
  20         u16 gs;
  21 #endif
  22         unsigned long cr0, cr2, cr3, cr4;
  23         u64 misc_enable;
  24         bool misc_enable_saved;
  25         struct saved_msrs saved_msrs;
  26         struct desc_ptr gdt_desc;
  27         struct desc_ptr idt;
  28         u16 ldt;
  29         u16 tss;
  30         unsigned long tr;
  31         unsigned long safety;
  32         unsigned long return_address;
  33 } __attribute__((packed));
  34 
  35 /* routines for saving/restoring kernel state */
  36 extern char core_restore_code[];
  37 extern char restore_registers[];
  38 
  39 #endif /* _ASM_X86_SUSPEND_32_H */

/* [<][>][^][v][top][bottom][index][help] */