On Wed, Feb 13, 2013 at 09:50:13AM +0000, David Woodhouse wrote: > - 4940c334 Clean up Kconfig options for CSM > > Merging this would be good.
The "BIOS interfaces" menu allows developers to turn off bios features for testing or to shrink the SeaBIOS binary size. I don't see a gain to limiting what devs can turn off. Turning off CONFIG_BOOT could be useful - an embedded device might want support for running legacy option roms under UEFI but know it will never need to boot in legacy mode. CONFIG_OPTIONROMS doesn't do anything under CSM, but maybe it makes sense to add "if (!CONFIG_OPTIONROMS) return" to the top of handle_csm_0005. Granted, CONFIG_OPTIONROMS_DEPLOYED isn't terribly useful - it's probably about time all that code was just removed. (Or at least set to depends on QEMU.) > - 4def181d Reject non-compliant PCI option ROMs with unaligned PCIR structure > > We can drop this if you're not keen, but it *is* an option so people > could still keep compatibility with broken ROMs, and consistency is > good. We'd never have been shipping broken ROMs if we'd done this in the > first place... I don't see why one would want to enable an option that will cause the boot to fail mysteriously for some users. It wouldn't be a problem if we thought all roms followed the spec, but we know the current "lgpl vgabios" violates this. How about the following instead: --- a/src/optionroms.c +++ b/src/optionroms.c @@ -109,6 +109,9 @@ get_pci_rom(struct rom_header *rom) struct pci_data *pd = (void*)((u32)rom + rom->pcioffset); if (pd->signature != PCI_ROM_SIGNATURE) return NULL; + if (rom->pcioffset & 3) + dprintf(1, "WARNING! Found unaligned PCI rom (vd=%04x:%04x)\n" + , pd->vendor, pd->device); return pd; } -Kevin _______________________________________________ SeaBIOS mailing list SeaBIOS@seabios.org http://www.seabios.org/mailman/listinfo/seabios