blob: 3c7521063d3fd3f70ea346cf855e4d02c4fdb9f0 [file] [log] [blame]
H. Peter Anvin1965aae2008-10-22 22:26:29 -07001#ifndef _ASM_X86_BIOS_EBDA_H
2#define _ASM_X86_BIOS_EBDA_H
Linus Torvalds1da177e2005-04-16 15:20:36 -07003
Akinobu Mita2c0903f2008-04-19 23:55:18 +09004#include <asm/io.h>
5
Linus Torvalds1da177e2005-04-16 15:20:36 -07006/*
7 * there is a real-mode segmented pointer pointing to the
8 * 4K EBDA area at 0x40E.
9 */
10static 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
Huang, Ying0c51a962008-06-02 14:26:23 +080017void reserve_ebda_region(void);
18
Ingo Molnar46eaa672008-10-12 15:06:29 +020019#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 */
24void check_for_bios_corruption(void);
25void start_periodic_check_for_corruption(void);
26#else
27static inline void check_for_bios_corruption(void)
28{
29}
30
31static inline void start_periodic_check_for_corruption(void)
32{
33}
34#endif
35
H. Peter Anvin1965aae2008-10-22 22:26:29 -070036#endif /* _ASM_X86_BIOS_EBDA_H */