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
realmode.h
Go to the documentation of this file.
1
#ifndef _ARCH_X86_REALMODE_H
2
#define _ARCH_X86_REALMODE_H
3
4
#include <linux/types.h>
5
#include <asm/io.h>
6
7
/* This must match data at realmode.S */
8
struct
real_mode_header
{
9
u32
text_start
;
10
u32
ro_end
;
11
/* SMP trampoline */
12
u32
trampoline_start
;
13
u32
trampoline_status
;
14
u32
trampoline_header
;
15
#ifdef CONFIG_X86_64
16
u32
trampoline_pgd;
17
#endif
18
/* ACPI S3 wakeup */
19
#ifdef CONFIG_ACPI_SLEEP
20
u32
wakeup_start
;
21
u32
wakeup_header
;
22
#endif
23
/* APM/BIOS reboot */
24
u32
machine_real_restart_asm
;
25
#ifdef CONFIG_X86_64
26
u32
machine_real_restart_seg;
27
#endif
28
};
29
30
/* This must match data at trampoline_32/64.S */
31
struct
trampoline_header
{
32
#ifdef CONFIG_X86_32
33
u32
start
;
34
u16
gdt_pad
;
35
u16
gdt_limit
;
36
u32
gdt_base
;
37
#else
38
u64
start
;
39
u64
efer
;
40
u32
cr4
;
41
#endif
42
};
43
44
extern
struct
real_mode_header
*
real_mode_header
;
45
extern
unsigned
char
real_mode_blob_end
[];
46
47
extern
unsigned
long
init_rsp
;
48
extern
unsigned
long
initial_code
;
49
extern
unsigned
long
initial_gs
;
50
51
extern
unsigned
char
real_mode_blob
[];
52
extern
unsigned
char
real_mode_relocs
[];
53
54
#ifdef CONFIG_X86_32
55
extern
unsigned
char
startup_32_smp[];
56
extern
unsigned
char
boot_gdt[];
57
#else
58
extern
unsigned
char
secondary_startup_64
[];
59
#endif
60
61
extern
void
__init
setup_real_mode
(
void
);
62
63
#endif
/* _ARCH_X86_REALMODE_H */
Generated on Thu Jan 10 2013 13:20:08 for Linux Kernel by
1.8.2