OSDN Git Service

pci-assign: Use msi_get_message()
authorAlex Williamson <alex.williamson@redhat.com>
Tue, 2 Oct 2012 19:22:14 +0000 (13:22 -0600)
committerMichael S. Tsirkin <mst@redhat.com>
Mon, 29 Oct 2012 15:59:06 +0000 (17:59 +0200)
pci-assign only uses a subset of the flexibility msi_get_message()
provides, but it's still worthwhile to use it.

Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
hw/kvm/pci-assign.c

index ab01205..e80dad0 100644 (file)
@@ -996,12 +996,9 @@ static void assigned_dev_update_msi(PCIDevice *pci_dev)
     }
 
     if (ctrl_byte & PCI_MSI_FLAGS_ENABLE) {
-        uint8_t *pos = pci_dev->config + pci_dev->msi_cap;
-        MSIMessage msg;
+        MSIMessage msg = msi_get_message(pci_dev, 0);
         int virq;
 
-        msg.address = pci_get_long(pos + PCI_MSI_ADDRESS_LO);
-        msg.data = pci_get_word(pos + PCI_MSI_DATA_32);
         virq = kvm_irqchip_add_msi_route(kvm_state, msg);
         if (virq < 0) {
             perror("assigned_dev_update_msi: kvm_irqchip_add_msi_route");