Line data Source code
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 1 : 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 1 : unsigned int address = *(unsigned short *)phys_to_virt(0x40E); 17 1 : address <<= 4; 18 1 : 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 */