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