bios_ebda.h 794 B

123456789101112131415161718192021222324252627282930313233343536
  1. #ifndef _ASM_X86_BIOS_EBDA_H
  2. #define _ASM_X86_BIOS_EBDA_H
  3. #include <asm/io.h>
  4. /*
  5. * there is a real-mode segmented pointer pointing to the
  6. * 4K EBDA area at 0x40E.
  7. */
  8. static inline unsigned int get_bios_ebda(void)
  9. {
  10. unsigned int address = *(unsigned short *)phys_to_virt(0x40E);
  11. address <<= 4;
  12. return address; /* 0 means none */
  13. }
  14. void reserve_ebda_region(void);
  15. #ifdef CONFIG_X86_CHECK_BIOS_CORRUPTION
  16. /*
  17. * This is obviously not a great place for this, but we want to be
  18. * able to scatter it around anywhere in the kernel.
  19. */
  20. void check_for_bios_corruption(void);
  21. void start_periodic_check_for_corruption(void);
  22. #else
  23. static inline void check_for_bios_corruption(void)
  24. {
  25. }
  26. static inline void start_periodic_check_for_corruption(void)
  27. {
  28. }
  29. #endif
  30. #endif /* _ASM_X86_BIOS_EBDA_H */