Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/x86/include/asm/bios_ebda.h
26481 views
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 */
41
42