[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 11/15] pci-assign: add memory_region_set_owner calls
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PATCH 11/15] pci-assign: add memory_region_set_owner calls |
Date: |
Sun, 2 Jun 2013 17:43:28 +0200 |
Cc: Alex Williamson <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
---
hw/i386/kvm/pci-assign.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/hw/i386/kvm/pci-assign.c b/hw/i386/kvm/pci-assign.c
index ff85590..4b1c2d9 100644
--- a/hw/i386/kvm/pci-assign.c
+++ b/hw/i386/kvm/pci-assign.c
@@ -300,6 +300,7 @@ static void assigned_dev_iomem_setup(PCIDevice *pci_dev,
int region_num,
if (e_size > 0) {
memory_region_init(®ion->container, "assigned-dev-container",
e_size);
+ memory_region_set_owner(®ion->container, OBJECT(pci_dev));
memory_region_add_subregion(®ion->container, 0,
®ion->real_iomem);
/* deal with MSI-X MMIO page */
@@ -330,9 +331,12 @@ static void assigned_dev_ioport_setup(PCIDevice *pci_dev,
int region_num,
region->e_size = size;
memory_region_init(®ion->container, "assigned-dev-container", size);
+ memory_region_set_owner(®ion->container, OBJECT(pci_dev));
+
memory_region_init_io(®ion->real_iomem, &assigned_dev_ioport_ops,
r_dev->v_addrs + region_num,
"assigned-dev-iomem", size);
+ memory_region_set_owner(®ion->real_iomem, OBJECT(pci_dev));
memory_region_add_subregion(®ion->container, 0, ®ion->real_iomem);
}
@@ -482,6 +486,8 @@ static int assigned_dev_register_regions(PCIRegion
*io_regions,
&slow_bar_ops, &pci_dev->v_addrs[i],
"assigned-dev-slow-bar",
cur_region->size);
+ memory_region_set_owner(&pci_dev->v_addrs[i].real_iomem,
+ OBJECT(pci_dev));
} else {
void *virtbase = pci_dev->v_addrs[i].u.r_virtbase;
char name[32];
@@ -490,6 +496,9 @@ static int assigned_dev_register_regions(PCIRegion
*io_regions,
memory_region_init_ram_ptr(&pci_dev->v_addrs[i].real_iomem,
name, cur_region->size,
virtbase);
+ memory_region_set_owner(&pci_dev->v_addrs[i].real_iomem,
+ OBJECT(pci_dev));
+
vmstate_register_ram(&pci_dev->v_addrs[i].real_iomem,
&pci_dev->dev.qdev);
}
@@ -1651,6 +1660,7 @@ static int assigned_dev_register_msix_mmio(AssignedDevice
*dev)
memory_region_init_io(&dev->mmio, &assigned_dev_msix_mmio_ops, dev,
"assigned-dev-msix", MSIX_PAGE_SIZE);
+ memory_region_set_owner(&dev->mmio, OBJECT(dev));
return 0;
}
@@ -1916,6 +1926,7 @@ static void assigned_dev_load_option_rom(AssignedDevice
*dev)
snprintf(name, sizeof(name), "%s.rom",
object_get_typename(OBJECT(dev)));
memory_region_init_ram(&dev->dev.rom, name, st.st_size);
+ memory_region_set_owner(&dev->dev.rom, OBJECT(dev));
vmstate_register_ram(&dev->dev.rom, &dev->dev.qdev);
ptr = memory_region_get_ram_ptr(&dev->dev.rom);
memset(ptr, 0xff, st.st_size);
--
1.8.1.4
- Re: [Qemu-devel] [PATCH 02/15] memory: add ref/unref, (continued)
- [Qemu-devel] [PATCH 04/15] exec: add a reference to the region returned by address_space_translate, Paolo Bonzini, 2013/06/02
- [Qemu-devel] [PATCH 03/15] memory: add ref/unref calls, Paolo Bonzini, 2013/06/02
- [Qemu-devel] [PATCH 05/15] pci: set owner for BARs, Paolo Bonzini, 2013/06/02
- [Qemu-devel] [PATCH 06/15] sysbus: set owner for MMIO regions, Paolo Bonzini, 2013/06/02
- [Qemu-devel] [PATCH 07/15] acpi: add memory_region_set_owner calls, Paolo Bonzini, 2013/06/02
- [Qemu-devel] [PATCH 08/15] misc: add memory_region_set_owner calls, Paolo Bonzini, 2013/06/02
- [Qemu-devel] [PATCH 09/15] isa/portio: allow setting an owner, Paolo Bonzini, 2013/06/02
- [Qemu-devel] [PATCH 10/15] vga: add memory_region_set_owner calls, Paolo Bonzini, 2013/06/02
- [Qemu-devel] [PATCH 11/15] pci-assign: add memory_region_set_owner calls,
Paolo Bonzini <=
- [Qemu-devel] [PATCH 12/15] vfio: add memory_region_set_owner calls, Paolo Bonzini, 2013/06/02
- [Qemu-devel] [PATCH 13/15] exec: check MRU in qemu_ram_addr_from_host, Paolo Bonzini, 2013/06/02
- [Qemu-devel] [PATCH 14/15] memory: return MemoryRegion from qemu_ram_addr_from_host, Paolo Bonzini, 2013/06/02
- [Qemu-devel] [PATCH 15/15] memory: ref/unref memory across address_space_map/unmap, Paolo Bonzini, 2013/06/02
- Re: [Qemu-devel] [PATCH 00/15] Memory/IOMMU patches part 4: region ownership, Peter Maydell, 2013/06/02