1*084ee1c6SJarkko Sakkinen #ifndef _ARCH_X86_REALMODE_H 2*084ee1c6SJarkko Sakkinen #define _ARCH_X86_REALMODE_H 3*084ee1c6SJarkko Sakkinen 4*084ee1c6SJarkko Sakkinen #include <linux/types.h> 5*084ee1c6SJarkko Sakkinen #include <asm/io.h> 6*084ee1c6SJarkko Sakkinen 7*084ee1c6SJarkko Sakkinen /* This must match data at realmode.S */ 8*084ee1c6SJarkko Sakkinen struct real_mode_header { 9*084ee1c6SJarkko Sakkinen u32 text_start; 10*084ee1c6SJarkko Sakkinen u32 ro_end; 11*084ee1c6SJarkko Sakkinen u32 end; 12*084ee1c6SJarkko Sakkinen } __attribute__((__packed__)); 13*084ee1c6SJarkko Sakkinen 14*084ee1c6SJarkko Sakkinen extern struct real_mode_header real_mode_header; 15*084ee1c6SJarkko Sakkinen extern unsigned char *real_mode_base; 16*084ee1c6SJarkko Sakkinen 17*084ee1c6SJarkko Sakkinen extern unsigned long init_rsp; 18*084ee1c6SJarkko Sakkinen extern unsigned long initial_code; 19*084ee1c6SJarkko Sakkinen extern unsigned long initial_gs; 20*084ee1c6SJarkko Sakkinen 21*084ee1c6SJarkko Sakkinen extern unsigned char real_mode_blob[]; 22*084ee1c6SJarkko Sakkinen extern unsigned char real_mode_relocs[]; 23*084ee1c6SJarkko Sakkinen 24*084ee1c6SJarkko Sakkinen extern void __init setup_real_mode(void); 25*084ee1c6SJarkko Sakkinen 26*084ee1c6SJarkko Sakkinen #endif /* _ARCH_X86_REALMODE_H */ 27