x86, realmode: Move SMP trampoline to unified realmode code
[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;
11 u32 end;
5a8c9aeb
JS
12 /* reboot */
13#ifdef CONFIG_X86_32
14 u32 machine_real_restart_asm;
48927bbb
JS
15#endif
16 /* SMP trampoline */
17 u32 trampoline_data;
18 u32 trampoline_status;
19#ifdef CONFIG_X86_32
20 u32 startup_32_smp;
21 u32 boot_gdt;
22#else
23 u32 startup_64_smp;
24 u32 level3_ident_pgt;
25 u32 level3_kernel_pgt;
5a8c9aeb 26#endif
084ee1c6
JS
27} __attribute__((__packed__));
28
29extern struct real_mode_header real_mode_header;
30extern unsigned char *real_mode_base;
31
32extern unsigned long init_rsp;
33extern unsigned long initial_code;
34extern unsigned long initial_gs;
35
36extern unsigned char real_mode_blob[];
37extern unsigned char real_mode_relocs[];
38
48927bbb
JS
39#ifdef CONFIG_X86_32
40extern unsigned char startup_32_smp[];
41extern unsigned char boot_gdt[];
42#else
43extern unsigned char secondary_startup_64[];
44#endif
45
084ee1c6
JS
46extern void __init setup_real_mode(void);
47
48#endif /* _ARCH_X86_REALMODE_H */
This page took 0.027303 seconds and 5 git commands to generate.