I still poke at this when I get time.
I notice that pci_update_mappings calls pci_bar_address, and the latter
will always return PCI_BAR_UNMAPPED for this device. For the emulated
devices, pci_bar_address will get an address with PCI_ROM_ADDRESS_ENABLE
at some point, and pci_map_option_rom will be called. With the card
that I'm passing in, that never happens. Could anyone point me in the
direction I should go from here? What sets that bit for the emulated
devices that might not happen for the PCI card?
if (type & PCI_BASE_ADDRESS_MEM_TYPE_64) {
new_addr = pci_get_quad(d->config + bar);
} else {
new_addr = pci_get_long(d->config + bar);
}
/* the ROM slot has a specific enable bit */
if (reg == PCI_ROM_SLOT && !(new_addr & PCI_ROM_ADDRESS_ENABLE)) {
return PCI_BAR_UNMAPPED;
}
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html