On 22.01.2008 18:59, Myles Watson wrote:
Coreboot v3 refuses to initialize the VGA in QEMU because the PCI device ID's are mismatched.
It turns out that the header has been overwritten by a copyright string,
so
that v3 is following a bad pointer into the ROM looking for the PCI
device
IDs and not finding it. Coreboot v2 still successfully initializes the
VGA
because it skips the vendor check.
The question is if we should make the vendor check a warning instead of failing. I realize that the right thing to do is fix the ROM, but there
may
be other broken ROMs as well.
I'd say we refuse to execute the ROM in v3. If the ROM is broken, we have no way to determine how broken it is. Unconditional execution may prevent booting the machine, thereby forcing an out-of-system flash of coreboot with ROM execution disabled.
How many ROMs of real hardware are broken that way? If their number is close to zero, printing a scary warning message will be best. If there is a large number of such broken ROMs, we can make execution dependent on some NVRAM setting, which will refuse execution after NVRAM clear.
I have no idea how many there are.
Do you know which versions of Qemu ship the broken ROM? Is there already a patch for it?
0.9.0, 0.9.1 I haven't seen a patch for it, or anyone else complaining about it. It made me wonder if Coreboot is the only thing that cares if the ROM is broken.
Myles
Carl-Daniel: I forgot to CC the list last time.