diff options
-rw-r--r-- | src/Kconfig | 11 | ||||
-rw-r--r-- | src/optionroms.c | 3 |
2 files changed, 13 insertions, 1 deletions
diff --git a/src/Kconfig b/src/Kconfig index f064b27..6d55b23 100644 --- a/src/Kconfig +++ b/src/Kconfig @@ -250,6 +250,17 @@ menu "BIOS interfaces" Select this if option ROMs are already copied to 0xc0000-0xf0000. This must only be selected when using Bochs or QEMU versions older than 0.12. + config OPTIONROMS_CHECKSUM + depends on OPTIONROMS + bool "Require correct checksum on option ROMs" + default y + help + Option ROMs are required to have correct checksums. + However, some option ROMs in the wild don't correctly + follow the specifications and have bad checksums. + Say N here to allow SeaBIOS to execute them anyways. + + If unsure, say Y. config PMM depends on OPTIONROMS bool "PMM interface" diff --git a/src/optionroms.c b/src/optionroms.c index a94b46c..37a4e6c 100644 --- a/src/optionroms.c +++ b/src/optionroms.c @@ -131,7 +131,8 @@ is_valid_rom(struct rom_header *rom) if (sum != 0) { dprintf(1, "Found option rom with bad checksum: loc=%p len=%d sum=%x\n" , rom, len, sum); - return 0; + if (CONFIG_OPTIONROMS_CHECKSUM) + return 0; } return 1; } |