aboutsummaryrefslogtreecommitdiff
path: root/hw
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
parent00967f4e0bab246679d0ddc32fd31a7179345baf (diff)
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')
-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) {