diff options
author | Jan Beulich <JBeulich@suse.com> | 2015-05-15 13:46:11 +0100 |
---|---|---|
committer | Stefano Stabellini <stefano.stabellini@eu.citrix.com> | 2015-06-23 16:18:24 +0000 |
commit | 950fe0aa3f55ad6bb135fc9cde9ebf4df05f62fc (patch) | |
tree | e4d27399183e6a8952cc8d25e500f5de156fec56 /hw | |
parent | 00967f4e0bab246679d0ddc32fd31a7179345baf (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.c | 9 |
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) { |