| #ifndef _ARCH_X86_REALMODE_H |
| #define _ARCH_X86_REALMODE_H |
| /* This must match data at realmode.S */ |
| struct real_mode_header { |
| u32 machine_real_restart_asm; |
| u32 machine_real_restart_seg; |
| /* This must match data at trampoline_32/64.S */ |
| struct trampoline_header { |
| extern struct real_mode_header *real_mode_header; |
| extern unsigned char real_mode_blob_end[]; |
| extern unsigned long init_rsp; |
| extern unsigned long initial_code; |
| extern unsigned long initial_gs; |
| extern unsigned char real_mode_blob[]; |
| extern unsigned char real_mode_relocs[]; |
| extern unsigned char startup_32_smp[]; |
| extern unsigned char boot_gdt[]; |
| extern unsigned char secondary_startup_64[]; |
| void reserve_real_mode(void); |
| void setup_real_mode(void); |
| #endif /* _ARCH_X86_REALMODE_H */ |