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