diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2011-03-06 19:22:46 -0500 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2011-03-06 19:22:46 -0500 |
commit | cc975646af69f279396d4d5e1379ac6af80ee637 (patch) | |
tree | c4b8f983fe8d82b0d201a19037fe91092d2b8245 | |
parent | 424f217fe01ed7e2398d9e56a2803f86856cdc06 (diff) |
Based on a patch by: Stefan Reinauer <reinauer@google.com>
-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; } |