trampoline.h 759 B

1234567891011121314151617181920212223242526272829
  1. #ifndef _ASM_X86_TRAMPOLINE_H
  2. #define _ASM_X86_TRAMPOLINE_H
  3. #ifndef __ASSEMBLY__
  4. #ifdef CONFIG_X86_TRAMPOLINE
  5. /*
  6. * Trampoline 80x86 program as an array.
  7. */
  8. extern const unsigned char trampoline_data [];
  9. extern const unsigned char trampoline_end [];
  10. extern unsigned char *trampoline_base;
  11. extern unsigned long init_rsp;
  12. extern unsigned long initial_code;
  13. extern unsigned long initial_gs;
  14. #define TRAMPOLINE_SIZE roundup(trampoline_end - trampoline_data, PAGE_SIZE)
  15. #define TRAMPOLINE_BASE 0x6000
  16. extern unsigned long setup_trampoline(void);
  17. extern void __init reserve_trampoline_memory(void);
  18. #else
  19. static inline void reserve_trampoline_memory(void) {};
  20. #endif /* CONFIG_X86_TRAMPOLINE */
  21. #endif /* __ASSEMBLY__ */
  22. #endif /* _ASM_X86_TRAMPOLINE_H */