]> xenbits.xensource.com Git - people/pauldu/qemu.git/commitdiff
pci: allow 32-bit PCI IO accesses to pass through the PCI bridge
authorMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Fri, 22 Sep 2017 12:18:31 +0000 (13:18 +0100)
committerMichael S. Tsirkin <mst@redhat.com>
Sun, 15 Oct 2017 02:54:41 +0000 (05:54 +0300)
Whilst the underlying PCI bridge implementation supports 32-bit PCI IO
accesses, unfortunately they are truncated at the legacy 64K limit.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
hw/pci/pci_bridge.c

index 17feae5ed8d052ca58c8a75b22f5c9a60fa45e40..a47d257149caa7a63e0a4d3f32a1d0a2b5adaeae 100644 (file)
@@ -379,7 +379,8 @@ void pci_bridge_initfn(PCIDevice *dev, const char *typename)
     sec_bus->address_space_mem = &br->address_space_mem;
     memory_region_init(&br->address_space_mem, OBJECT(br), "pci_bridge_pci", UINT64_MAX);
     sec_bus->address_space_io = &br->address_space_io;
-    memory_region_init(&br->address_space_io, OBJECT(br), "pci_bridge_io", 65536);
+    memory_region_init(&br->address_space_io, OBJECT(br), "pci_bridge_io",
+                       UINT32_MAX);
     br->windows = pci_bridge_region_init(br);
     QLIST_INIT(&sec_bus->child);
     QLIST_INSERT_HEAD(&parent->child, sec_bus, sibling);