cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

bios_ebda.h (914B)


      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 */
     10static 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
     21void 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 */
     28void check_for_bios_corruption(void);
     29void start_periodic_check_for_corruption(void);
     30#else
     31static inline void check_for_bios_corruption(void)
     32{
     33}
     34
     35static inline void start_periodic_check_for_corruption(void)
     36{
     37}
     38#endif
     39
     40#endif /* _ASM_X86_BIOS_EBDA_H */