aboutsummaryrefslogtreecommitdiff
path: root/hw/pci
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2014-08-19 13:00:57 +0100
committerPeter Maydell <peter.maydell@linaro.org>2014-08-19 13:00:57 +0100
commit0e4a77370594c91dd126f9872893ed473374cc72 (patch)
tree821715343d4c22b6e71d98676b51e63d59466c55 /hw/pci
parent8e6e2c2ae7a81f625cf1cb320891d5270e277548 (diff)
parentf54bb15f9d373877954e44db3a8bb368aff45b42 (diff)
downloadqemu-0e4a77370594c91dd126f9872893ed473374cc72.zip
qemu-0e4a77370594c91dd126f9872893ed473374cc72.tar.gz
qemu-0e4a77370594c91dd126f9872893ed473374cc72.tar.bz2
Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging
SCSI changes that enable sending vendor-specific commands via virtio-scsi. Memory changes for QOMification and automatic tracking of MR lifetime. # gpg: Signature made Mon 18 Aug 2014 13:03:09 BST using RSA key ID 9B4D86F2 # gpg: Good signature from "Paolo Bonzini <pbonzini@redhat.com>" # gpg: aka "Paolo Bonzini <bonzini@gnu.org>" * remotes/bonzini/tags/for-upstream: mtree: remove write-only field memory: Use canonical path component as the name memory: Use memory_region_name for name access memory: constify memory_region_name exec: Abstract away ref to memory region names loader: Abstract away ref to memory region names tpm_tis: remove instance_finalize callback memory: remove memory_region_destroy memory: convert memory_region_destroy to object_unparent ioport: split deletion and destruction nic: do not destroy memory regions in cleanup functions vga: do not dynamically allocate chain4_alias sysbus: remove unused function sysbus_del_io qom: object: move unparenting to the child property's release callback qom: object: delete properties before calling instance_finalize virtio-scsi: implement parse_cdb scsi-block, scsi-generic: implement parse_cdb scsi-block: extract scsi_block_is_passthrough scsi-bus: introduce parse_cdb in SCSIDeviceClass and SCSIBusInfo scsi-bus: prepare scsi_req_new for introduction of parse_cdb Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'hw/pci')
-rw-r--r--hw/pci/msix.c4
-rw-r--r--hw/pci/pci.c2
-rw-r--r--hw/pci/pci_bridge.c8
-rw-r--r--hw/pci/pcie_host.c1
-rw-r--r--hw/pci/shpc.c1
5 files changed, 0 insertions, 16 deletions
diff --git a/hw/pci/msix.c b/hw/pci/msix.c
index 20ae476..24de260 100644
--- a/hw/pci/msix.c
+++ b/hw/pci/msix.c
@@ -319,7 +319,6 @@ int msix_init_exclusive_bar(PCIDevice *dev, unsigned short nentries,
bar_nr, MSIX_EXCLUSIVE_BAR_PBA_OFFSET,
MSIX_EXCLUSIVE_CAP_OFFSET);
if (ret) {
- memory_region_destroy(&dev->msix_exclusive_bar);
return ret;
}
@@ -359,11 +358,9 @@ void msix_uninit(PCIDevice *dev, MemoryRegion *table_bar, MemoryRegion *pba_bar)
msix_free_irq_entries(dev);
dev->msix_entries_nr = 0;
memory_region_del_subregion(pba_bar, &dev->msix_pba_mmio);
- memory_region_destroy(&dev->msix_pba_mmio);
g_free(dev->msix_pba);
dev->msix_pba = NULL;
memory_region_del_subregion(table_bar, &dev->msix_table_mmio);
- memory_region_destroy(&dev->msix_table_mmio);
g_free(dev->msix_table);
dev->msix_table = NULL;
g_free(dev->msix_entry_used);
@@ -375,7 +372,6 @@ void msix_uninit_exclusive_bar(PCIDevice *dev)
{
if (msix_present(dev)) {
msix_uninit(dev, &dev->msix_exclusive_bar, &dev->msix_exclusive_bar);
- memory_region_destroy(&dev->msix_exclusive_bar);
}
}
diff --git a/hw/pci/pci.c b/hw/pci/pci.c
index 351d320..daeaeac 100644
--- a/hw/pci/pci.c
+++ b/hw/pci/pci.c
@@ -799,7 +799,6 @@ static void do_pci_unregister_device(PCIDevice *pci_dev)
pci_config_free(pci_dev);
address_space_destroy(&pci_dev->bus_master_as);
- memory_region_destroy(&pci_dev->bus_master_enable_region);
}
/* -1 for devfn means auto assign */
@@ -1996,7 +1995,6 @@ static void pci_del_option_rom(PCIDevice *pdev)
return;
vmstate_unregister_ram(&pdev->rom, &pdev->qdev);
- memory_region_destroy(&pdev->rom);
pdev->has_rom = false;
}
diff --git a/hw/pci/pci_bridge.c b/hw/pci/pci_bridge.c
index 4becdc1..1307265 100644
--- a/hw/pci/pci_bridge.c
+++ b/hw/pci/pci_bridge.c
@@ -219,12 +219,6 @@ static void pci_bridge_region_del(PCIBridge *br, PCIBridgeWindows *w)
static void pci_bridge_region_cleanup(PCIBridge *br, PCIBridgeWindows *w)
{
- memory_region_destroy(&w->alias_io);
- memory_region_destroy(&w->alias_mem);
- memory_region_destroy(&w->alias_pref_mem);
- memory_region_destroy(&w->alias_vga[QEMU_PCI_VGA_IO_LO]);
- memory_region_destroy(&w->alias_vga[QEMU_PCI_VGA_IO_HI]);
- memory_region_destroy(&w->alias_vga[QEMU_PCI_VGA_MEM]);
g_free(w);
}
@@ -389,8 +383,6 @@ void pci_bridge_exitfn(PCIDevice *pci_dev)
QLIST_REMOVE(&s->sec_bus, sibling);
pci_bridge_region_del(s, s->windows);
pci_bridge_region_cleanup(s, s->windows);
- memory_region_destroy(&s->address_space_mem);
- memory_region_destroy(&s->address_space_io);
/* object_unparent() is called automatically during device deletion */
}
diff --git a/hw/pci/pcie_host.c b/hw/pci/pcie_host.c
index 7c88a1d..3db038f 100644
--- a/hw/pci/pcie_host.c
+++ b/hw/pci/pcie_host.c
@@ -94,7 +94,6 @@ void pcie_host_mmcfg_unmap(PCIExpressHost *e)
{
if (e->base_addr != PCIE_BASE_ADDR_UNMAPPED) {
memory_region_del_subregion(get_system_memory(), &e->mmio);
- memory_region_destroy(&e->mmio);
e->base_addr = PCIE_BASE_ADDR_UNMAPPED;
}
}
diff --git a/hw/pci/shpc.c b/hw/pci/shpc.c
index 180faa7..1fcb8c4 100644
--- a/hw/pci/shpc.c
+++ b/hw/pci/shpc.c
@@ -667,7 +667,6 @@ void shpc_cleanup(PCIDevice *d, MemoryRegion *bar)
g_free(shpc->cmask);
g_free(shpc->wmask);
g_free(shpc->w1cmask);
- memory_region_destroy(&shpc->mmio);
g_free(shpc);
}