Linux Audio

Check our new training course

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