diff options
Diffstat (limited to 'arch/x86/include')
-rw-r--r-- | arch/x86/include/asm/realmode.h | 32 |
1 files changed, 20 insertions, 12 deletions
diff --git a/arch/x86/include/asm/realmode.h b/arch/x86/include/asm/realmode.h index d3ae49f4c3ef..1421eed1c8e8 100644 --- a/arch/x86/include/asm/realmode.h +++ b/arch/x86/include/asm/realmode.h | |||
@@ -8,25 +8,33 @@ | |||
8 | struct real_mode_header { | 8 | struct real_mode_header { |
9 | u32 text_start; | 9 | u32 text_start; |
10 | u32 ro_end; | 10 | u32 ro_end; |
11 | /* reboot */ | ||
12 | #ifdef CONFIG_X86_32 | ||
13 | u32 machine_real_restart_asm; | ||
14 | #endif | ||
15 | /* SMP trampoline */ | 11 | /* SMP trampoline */ |
16 | u32 trampoline_data; | 12 | u32 trampoline_start; |
17 | u32 trampoline_status; | 13 | u32 trampoline_status; |
18 | #ifdef CONFIG_X86_32 | 14 | u32 trampoline_header; |
19 | u32 startup_32_smp; | 15 | #ifdef CONFIG_X86_64 |
20 | u32 boot_gdt; | 16 | u32 trampoline_pgd; |
21 | #else | ||
22 | u32 startup_64_smp; | ||
23 | u32 level3_ident_pgt; | ||
24 | u32 level3_kernel_pgt; | ||
25 | #endif | 17 | #endif |
18 | /* ACPI S3 wakeup */ | ||
26 | #ifdef CONFIG_ACPI_SLEEP | 19 | #ifdef CONFIG_ACPI_SLEEP |
27 | u32 wakeup_start; | 20 | u32 wakeup_start; |
28 | u32 wakeup_header; | 21 | u32 wakeup_header; |
29 | #endif | 22 | #endif |
23 | /* APM/BIOS reboot */ | ||
24 | #ifdef CONFIG_X86_32 | ||
25 | u32 machine_real_restart_asm; | ||
26 | #endif | ||
27 | } __attribute__((__packed__)); | ||
28 | |||
29 | /* This must match data at trampoline_32/64.S */ | ||
30 | struct trampoline_header { | ||
31 | #ifdef CONFIG_X86_32 | ||
32 | u32 start; | ||
33 | u16 gdt_limit; | ||
34 | u32 gdt_base; | ||
35 | #else | ||
36 | u64 start; | ||
37 | #endif | ||
30 | } __attribute__((__packed__)); | 38 | } __attribute__((__packed__)); |
31 | 39 | ||
32 | extern struct real_mode_header *real_mode_header; | 40 | extern struct real_mode_header *real_mode_header; |