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"
__callrom(MAKE_FLATPTR(seg, 0), ip, 0);
}
+static int EnforceChecksum;
+
// Verify that an option rom looks valid
static int
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);
- if (CONFIG_OPTIONROMS_CHECKSUM)
+ if (EnforceChecksum)
return 0;
}
return 1;
dprintf(1, "Scan for VGA option rom\n");
+ EnforceChecksum = romfile_loadint("etc/optionroms-checksum", 1);
+
if (CONFIG_OPTIONROMS_DEPLOYED) {
// Option roms are already deployed on the system.
init_optionrom((void*)BUILD_ROM_START, 0, 1);