Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[sfrench/cifs-2.6.git] / arch / x86 / include / asm / bios_ebda.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _ASM_X86_BIOS_EBDA_H
3 #define _ASM_X86_BIOS_EBDA_H
4
5 #include <asm/io.h>
6
7 /*
8  * Returns physical address of EBDA.  Returns 0 if there is no EBDA.
9  */
10 static inline unsigned int get_bios_ebda(void)
11 {
12         /*
13          * There is a real-mode segmented pointer pointing to the
14          * 4K EBDA area at 0x40E.
15          */
16         unsigned int address = *(unsigned short *)phys_to_virt(0x40E);
17         address <<= 4;
18         return address; /* 0 means none */
19 }
20
21 void reserve_bios_regions(void);
22
23 #ifdef CONFIG_X86_CHECK_BIOS_CORRUPTION
24 /*
25  * This is obviously not a great place for this, but we want to be
26  * able to scatter it around anywhere in the kernel.
27  */
28 void check_for_bios_corruption(void);
29 void start_periodic_check_for_corruption(void);
30 #else
31 static inline void check_for_bios_corruption(void)
32 {
33 }
34
35 static inline void start_periodic_check_for_corruption(void)
36 {
37 }
38 #endif
39
40 #endif /* _ASM_X86_BIOS_EBDA_H */