x86, realmode: flattened rm hierachy
[deliverable/linux.git] / arch / x86 / include / asm / realmode.h
CommitLineData
084ee1c6
JS
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 */
8struct real_mode_header {
9 u32 text_start;
10 u32 ro_end;
5a8c9aeb
JS
11 /* reboot */
12#ifdef CONFIG_X86_32
13 u32 machine_real_restart_asm;
48927bbb
JS
14#endif
15 /* SMP trampoline */
16 u32 trampoline_data;
17 u32 trampoline_status;
18#ifdef CONFIG_X86_32
19 u32 startup_32_smp;
20 u32 boot_gdt;
21#else
22 u32 startup_64_smp;
23 u32 level3_ident_pgt;
24 u32 level3_kernel_pgt;
5a8c9aeb 25#endif
c9b77ccb
JS
26#ifdef CONFIG_ACPI_SLEEP
27 u32 wakeup_start;
28 u32 wakeup_header;
29#endif
084ee1c6
JS
30} __attribute__((__packed__));
31
b429dbf6
JS
32extern struct real_mode_header *real_mode_header;
33extern unsigned char real_mode_blob_end[];
084ee1c6
JS
34
35extern unsigned long init_rsp;
36extern unsigned long initial_code;
37extern unsigned long initial_gs;
38
39extern unsigned char real_mode_blob[];
40extern unsigned char real_mode_relocs[];
41
48927bbb
JS
42#ifdef CONFIG_X86_32
43extern unsigned char startup_32_smp[];
44extern unsigned char boot_gdt[];
45#else
46extern unsigned char secondary_startup_64[];
47#endif
48
084ee1c6
JS
49extern void __init setup_real_mode(void);
50
51#endif /* _ARCH_X86_REALMODE_H */
This page took 0.028028 seconds and 5 git commands to generate.