xref: /openbmc/linux/arch/x86/include/asm/realmode.h (revision 084ee1c641a068bfd1194d545f7dc9ab2043eb35)
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