From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Cc: peter.maydell@linaro.org
Subject: Re: [Qemu-devel] [PATCH v2 12/17] pci-assign: add memory_region_set_owner calls
Date: Tue, 04 Jun 2013 18:42:21 +0200 [thread overview]
Message-ID: <51AE18ED.8000801@redhat.com> (raw)
In-Reply-To: <1370348041-6768-13-git-send-email-pbonzini@redhat.com>
Il 04/06/2013 14:13, Paolo Bonzini ha scritto:
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
> 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);
>
Not needed. I followed the flow more closely and (unlike vfio) all
memory_region_add_subregion precede pci_register_bar here.
Paolo
next prev parent reply other threads:[~2013-06-04 16:49 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-04 12:13 [Qemu-devel] [PATCH v2 00/17] Memory/IOMMU patches part 4: region ownership Paolo Bonzini
2013-06-04 12:13 ` [Qemu-devel] [PATCH v2 01/17] memory: add getter/setter for owner Paolo Bonzini
2013-06-04 12:13 ` [Qemu-devel] [PATCH v2 02/17] memory: add ref/unref Paolo Bonzini
2013-06-04 12:13 ` [Qemu-devel] [PATCH v2 03/17] memory: add ref/unref calls Paolo Bonzini
2013-06-13 6:28 ` Alexey Kardashevskiy
2013-06-13 9:02 ` Alexey Kardashevskiy
2013-06-14 10:09 ` Alexey Kardashevskiy
2013-06-14 13:56 ` Paolo Bonzini
2013-06-14 15:04 ` Alexey Kardashevskiy
2013-06-25 8:49 ` Paolo Bonzini
2013-06-04 12:13 ` [Qemu-devel] [PATCH v2 04/17] exec: add a reference to the region returned by address_space_translate Paolo Bonzini
2013-06-04 12:13 ` [Qemu-devel] [PATCH v2 05/17] pci: set owner for BARs Paolo Bonzini
2013-06-04 12:13 ` [Qemu-devel] [PATCH v2 06/17] sysbus: add sysbus_pass_mmio Paolo Bonzini
2013-06-04 12:24 ` Peter Maydell
2013-06-04 12:31 ` Paolo Bonzini
2013-06-04 12:36 ` Peter Maydell
2013-06-04 13:24 ` Paolo Bonzini
2013-06-04 14:11 ` Peter Maydell
2013-06-04 14:27 ` Paolo Bonzini
2013-06-04 14:56 ` Peter Maydell
2013-06-04 15:06 ` Paolo Bonzini
2013-06-04 16:50 ` Paolo Bonzini
2013-06-04 17:47 ` Alex Williamson
2013-06-04 19:11 ` Paolo Bonzini
2013-06-04 12:13 ` [Qemu-devel] [PATCH v2 07/17] sysbus: set owner for MMIO regions Paolo Bonzini
2013-06-04 12:13 ` [Qemu-devel] [PATCH v2 08/17] acpi: add memory_region_set_owner calls Paolo Bonzini
2013-06-04 12:13 ` [Qemu-devel] [PATCH v2 09/17] misc: " Paolo Bonzini
2013-06-04 12:13 ` [Qemu-devel] [PATCH v2 10/17] isa/portio: allow setting an owner Paolo Bonzini
2013-06-04 12:13 ` [Qemu-devel] [PATCH v2 11/17] vga: add memory_region_set_owner calls Paolo Bonzini
2013-06-04 12:13 ` [Qemu-devel] [PATCH v2 12/17] pci-assign: " Paolo Bonzini
2013-06-04 16:42 ` Paolo Bonzini [this message]
2013-06-04 12:13 ` [Qemu-devel] [PATCH v2 13/17] vfio: " Paolo Bonzini
2013-06-04 12:13 ` [Qemu-devel] [PATCH v2 14/17] exec: check MRU in qemu_ram_addr_from_host Paolo Bonzini
2013-06-04 12:13 ` [Qemu-devel] [PATCH v2 15/17] exec: move qemu_ram_addr_from_host_nofail to cputlb.c Paolo Bonzini
2013-06-04 12:14 ` [Qemu-devel] [PATCH v2 16/17] memory: return MemoryRegion from qemu_ram_addr_from_host Paolo Bonzini
2013-06-04 12:14 ` [Qemu-devel] [PATCH v2 17/17] memory: ref/unref memory across address_space_map/unmap Paolo Bonzini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=51AE18ED.8000801@redhat.com \
--to=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).