Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
arch
x86
include
asm
suspend_64.h
Go to the documentation of this file.
1
/*
2
* Copyright 2001-2003 Pavel Machek <
[email protected]
>
3
* Based on code
4
* Copyright 2001 Patrick Mochel <
[email protected]
>
5
*/
6
#ifndef _ASM_X86_SUSPEND_64_H
7
#define _ASM_X86_SUSPEND_64_H
8
9
#include <asm/desc.h>
10
#include <
asm/i387.h
>
11
12
/*
13
* Image of the saved processor state, used by the low level ACPI suspend to
14
* RAM code and by the low level hibernation code.
15
*
16
* If you modify it, fix arch/x86/kernel/acpi/wakeup_64.S and make sure that
17
* __save/__restore_processor_state(), defined in arch/x86/kernel/suspend_64.c,
18
* still work as required.
19
*/
20
struct
saved_context
{
21
struct
pt_regs
regs
;
22
u16
ds
,
es
,
fs
,
gs
,
ss
;
23
unsigned
long
gs_base
,
gs_kernel_base
,
fs_base
;
24
unsigned
long
cr0
,
cr2
,
cr3
,
cr4
,
cr8
;
25
u64
misc_enable
;
26
bool
misc_enable_saved
;
27
unsigned
long
efer
;
28
u16
gdt_pad
;
29
u16
gdt_limit
;
30
unsigned
long
gdt_base
;
31
u16
idt_pad
;
32
u16
idt_limit
;
33
unsigned
long
idt_base
;
34
u16
ldt
;
35
u16
tss
;
36
unsigned
long
tr
;
37
unsigned
long
safety
;
38
unsigned
long
return_address
;
39
}
__attribute__
((packed));
40
41
#define loaddebug(thread,register) \
42
set_debugreg((thread)->debugreg##register, register)
43
44
/* routines for saving/restoring kernel state */
45
extern
int
acpi_save_state_mem
(
void
);
46
extern
char
core_restore_code
;
47
extern
char
restore_registers
;
48
49
#endif
/* _ASM_X86_SUSPEND_64_H */
Generated on Thu Jan 10 2013 13:20:08 for Linux Kernel by
1.8.2