On Thu, Apr 23, 2015 at 2:30 PM, Bjorn Helgaas <bhelgaas@xxxxxxxxxx> wrote: > Your i915 does not have a ROM BAR in hardware. If the default video > device has no ROM BAR, pci_fixup_video() sets IORESOURCE_ROM_SHADOW > even though the resource flags are zero because the BAR itself doesn't > exist. > > If IORESOURCE_ROM_SHADOW is set, pci_map_rom() assumes there's a > shadow ROM image at 0xC0000. Is there a shadow image even if the > device itself doesn't have a ROM BAR? On UEFI systems, there's no special reason to believe that there's anything at 0xc0000 - it depends on whether a CSM got loaded or not. Everything is awful. So... > int pcibios_add_device(struct pci_dev *dev) > { > if (dev-is-default-vga-device) { > dev->rom = 0xC0000; > dev->romlen = 0x20000; > } I don't know what we want to do here. This is, at some level, fundamentally wrong - however, it also wouldn't surprise me if this is also the only copy of the video ROM we have on some UEFI systems, especially since I believe that Windows 7 still required that there be a legacy ROM it could use for bootloader modesetting on UEFI platforms. So simply making this conditional on BIOS may break existing machines. But if there *is* a ROM there then we should be able to id it from the usual video ROM signature? _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel