On Thu, Nov 6, 2008 at 7:27 PM, Elia Yehuda z4ziggy@gmail.com wrote:
thanks for the suggestion - ive added #define PCI_DEVICE_ID_INTEL_82810E_IG 0x7125
to src/include/device/pci_ids.h but still no luck :
rom address for PCI: 00:01.0 = fffc0000 PCI Expansion ROM, signature 0xaa55, INIT size 0xa000, data ptr 0x0110 PCI ROM Image, Vendor 8086, Device 0000, Device or Vendor ID mismatch Vendor 8086, Device 0000 (Expected Vendor 8086, Device 7125)
im guessing the device_id needs to be declated somewhere in the code or maybe in the Config.lb?
Defintely, that is the wrong answer :-)
All that is going on here is that the coreboot rom BIOS code is making sure that the device id in the ROM matches the hardware. This is to ensure that you don't run the wrong vga bios on the hardware. This is part of the PCI spec. This is a pure runtime check.
Adding that define will have no effect, as you have seen.
The real problem: the ROM is wrong. This is not uncommon. Doubtless the vendor created a broken rom (Even the QEMU VGA ROM is wrong) and doubtless the vendor bios doesn't bother checking (this sloppiness is not unsual in production BIOS code). Coreboot actually is more strict and it is showing that there is an error
PCI ROM Image, Vendor 8086, Device 0000,
(who ever has a device id of zero?)
It is quite amazing how sloppy "production" bios code is. That's what happens when you can hide behind closed source. Nobody gets hurt but the customer.
The fix? Modify the BIOS image and put the device ID in the image.
Can someone put this Device or Vendor ID mismatch Vendor 8086, Device 0000 (Expected Vendor 8086,
Device 7125)
on the FAQ with a note about what it means?
thanks
ron