On Mon, Nov 08, 2010 at 12:25:47PM +0100, Jan Kiszka wrote: > @@ -417,6 +423,17 @@ static void assigned_dev_pci_write_config(PCIDevice *d, uint32_t address, > > if (address == 0x4) { > pci_default_write_config(d, address, val, len); > + pci_dev->intx_masked = val & PCI_COMMAND_INTX_DISABLE; > +#ifdef KVM_CAP_PCI_2_3 > + memset(&assigned_dev_data, 0, sizeof(assigned_dev_data)); > + assigned_dev_data.assigned_dev_id = > + calc_assigned_dev_id(pci_dev->h_segnr, pci_dev->h_busnr, > + pci_dev->h_devfn); > + if (pci_dev->intx_masked) { > + assigned_dev_data.flags = KVM_DEV_ASSIGN_MASK_INTX; > + } > + kvm_assign_set_intx_mask(kvm_context, &assigned_dev_data); > +#endif > /* Continue to program the card */ > } > > @@ -494,6 +511,10 @@ do_log: > else if (address == 6) > val &= ~0x10; > } > + if (address == PCI_COMMAND) { Could also be a single-byte write into the high byte of this word. > + val &= ~PCI_COMMAND_INTX_DISABLE; > + val |= pci_dev->intx_masked; > + } > > return val; > } > @@ -824,11 +845,6 @@ static void free_assigned_device(AssignedDevice *dev) -- 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