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

check_signature.c (635B)


      1// SPDX-License-Identifier: GPL-2.0
      2#include <linux/io.h>
      3#include <linux/export.h>
      4
      5/**
      6 *	check_signature		-	find BIOS signatures
      7 *	@io_addr: mmio address to check
      8 *	@signature:  signature block
      9 *	@length: length of signature
     10 *
     11 *	Perform a signature comparison with the mmio address io_addr. This
     12 *	address should have been obtained by ioremap.
     13 *	Returns 1 on a match.
     14 */
     15
     16int check_signature(const volatile void __iomem *io_addr,
     17			const unsigned char *signature, int length)
     18{
     19	while (length--) {
     20		if (readb(io_addr) != *signature)
     21			return 0;
     22		io_addr++;
     23		signature++;
     24	}
     25	return 1;
     26}
     27EXPORT_SYMBOL(check_signature);