28 lines · c
1// SPDX-License-Identifier: GPL-2.02#include <linux/io.h>3#include <linux/export.h>4 5/**6 * check_signature - find BIOS signatures7 * @io_addr: mmio address to check8 * @signature: signature block9 * @length: length of signature10 *11 * Perform a signature comparison with the mmio address io_addr. This12 * 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);28