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