4dde797c057800b0e377ac02eb16101430f865ef
[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 #ifdef CONFIG_X86_TRAMPOLINE
7 /*
8  * Trampoline 80x86 program as an array.
9  */
10 extern const unsigned char trampoline_data [];
11 extern const unsigned char trampoline_end  [];
12 extern unsigned char *trampoline_base;
13
14 extern unsigned long init_rsp;
15 extern unsigned long initial_code;
16 extern unsigned long initial_page_table;
17 extern unsigned long initial_gs;
18
19 #define TRAMPOLINE_SIZE roundup(trampoline_end - trampoline_data, PAGE_SIZE)
20
21 extern unsigned long setup_trampoline(void);
22 extern void __init setup_trampoline_page_table(void);
23 extern void __init reserve_trampoline_memory(void);
24 #else
25 static inline void setup_trampoline_page_table(void) {}
26 static inline void reserve_trampoline_memory(void) {}
27 #endif /* CONFIG_X86_TRAMPOLINE */
28
29 #endif /* __ASSEMBLY__ */
30
31 #endif /* _ASM_X86_TRAMPOLINE_H */