x86/boot: Double BOOT_HEAP_SIZE to 64KB
[pandora-kernel.git] / arch / x86 / include / asm / trampoline.h
1 #ifndef _ASM_X86_TRAMPOLINE_H
2 #define _ASM_X86_TRAMPOLINE_H
3
4 #ifndef __ASSEMBLY__
5
6 #include <linux/types.h>
7 #include <asm/io.h>
8
9 /*
10  * Trampoline 80x86 program as an array.  These are in the init rodata
11  * segment, but that's okay, because we only care about the relative
12  * addresses of the symbols.
13  */
14 extern const unsigned char x86_trampoline_start [];
15 extern const unsigned char x86_trampoline_end   [];
16 extern unsigned char *x86_trampoline_base;
17
18 extern unsigned long init_rsp;
19 extern unsigned long initial_code;
20 extern unsigned long initial_gs;
21
22 extern void __init setup_trampolines(void);
23
24 extern const unsigned char trampoline_data[];
25 extern const unsigned char trampoline_status[];
26
27 #define TRAMPOLINE_SYM(x)                                               \
28         ((void *)(x86_trampoline_base +                                 \
29                   ((const unsigned char *)(x) - x86_trampoline_start)))
30
31 /* Address of the SMP trampoline */
32 static inline unsigned long trampoline_address(void)
33 {
34         return virt_to_phys(TRAMPOLINE_SYM(trampoline_data));
35 }
36
37 #endif /* __ASSEMBLY__ */
38
39 #endif /* _ASM_X86_TRAMPOLINE_H */