xref: /openbmc/linux/arch/x86/include/asm/bios_ebda.h (revision ecba1060)
1 #ifndef _ASM_X86_BIOS_EBDA_H
2 #define _ASM_X86_BIOS_EBDA_H
3 
4 #include <asm/io.h>
5 
6 /*
7  * there is a real-mode segmented pointer pointing to the
8  * 4K EBDA area at 0x40E.
9  */
10 static inline unsigned int get_bios_ebda(void)
11 {
12 	unsigned int address = *(unsigned short *)phys_to_virt(0x40E);
13 	address <<= 4;
14 	return address;	/* 0 means none */
15 }
16 
17 void reserve_ebda_region(void);
18 
19 #ifdef CONFIG_X86_CHECK_BIOS_CORRUPTION
20 /*
21  * This is obviously not a great place for this, but we want to be
22  * able to scatter it around anywhere in the kernel.
23  */
24 void check_for_bios_corruption(void);
25 void start_periodic_check_for_corruption(void);
26 #else
27 static inline void check_for_bios_corruption(void)
28 {
29 }
30 
31 static inline void start_periodic_check_for_corruption(void)
32 {
33 }
34 #endif
35 
36 #endif /* _ASM_X86_BIOS_EBDA_H */
37