summary refs log tree commit diff stats
path: root/hw/xen/xen_pt.c
diff options
context:
space:
mode:
authorJan Beulich <JBeulich@suse.com>2015-05-15 13:46:11 +0100
committerStefano Stabellini <stefano.stabellini@eu.citrix.com>2015-06-23 16:18:24 +0000
commit950fe0aa3f55ad6bb135fc9cde9ebf4df05f62fc (patch)
treee4d27399183e6a8952cc8d25e500f5de156fec56 /hw/xen/xen_pt.c
parent00967f4e0bab246679d0ddc32fd31a7179345baf (diff)
downloadfocaccia-qemu-950fe0aa3f55ad6bb135fc9cde9ebf4df05f62fc.tar.gz
focaccia-qemu-950fe0aa3f55ad6bb135fc9cde9ebf4df05f62fc.zip
xen/pass-through: fold host PCI command register writes
The code introduced to address XSA-126 allows simplification of other
code in xen_pt_initfn(): All we need to do is update "cmd" suitably,
as it'll be written back to the host register near the end of the
function anyway.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Diffstat (limited to 'hw/xen/xen_pt.c')
-rw-r--r--hw/xen/xen_pt.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/hw/xen/xen_pt.c b/hw/xen/xen_pt.c
index 9afcda8e21..8d47a4502c 100644
--- a/hw/xen/xen_pt.c
+++ b/hw/xen/xen_pt.c
@@ -740,10 +740,7 @@ static int xen_pt_initfn(PCIDevice *d)
                    machine_irq, pirq, rc);
 
         /* Disable PCI intx assertion (turn on bit10 of devctl) */
-        xen_host_pci_set_word(&s->real_device,
-                              PCI_COMMAND,
-                              pci_get_word(s->dev.config + PCI_COMMAND)
-                              | PCI_COMMAND_INTX_DISABLE);
+        cmd |= PCI_COMMAND_INTX_DISABLE;
         machine_irq = 0;
         s->machine_irq = 0;
     } else {
@@ -765,9 +762,7 @@ static int xen_pt_initfn(PCIDevice *d)
                        e_intx, rc);
 
             /* Disable PCI intx assertion (turn on bit10 of devctl) */
-            xen_host_pci_set_word(&s->real_device, PCI_COMMAND,
-                                  *(uint16_t *)(&s->dev.config[PCI_COMMAND])
-                                  | PCI_COMMAND_INTX_DISABLE);
+            cmd |= PCI_COMMAND_INTX_DISABLE;
             xen_pt_mapped_machine_irq[machine_irq]--;
 
             if (xen_pt_mapped_machine_irq[machine_irq] == 0) {