[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v5 3/6] memory: add parameter errp to memory_reg
From: |
Peter Crosthwaite |
Subject: |
Re: [Qemu-devel] [PATCH v5 3/6] memory: add parameter errp to memory_region_init_ram_ptr |
Date: |
Wed, 6 Aug 2014 22:29:14 +1000 |
On Wed, Aug 6, 2014 at 3:36 PM, Hu Tao <address@hidden> wrote:
> Add parameter errp to memory_region_init_ram_ptr and update all call
> sites to pass in &error_abort.
>
> Signed-off-by: Hu Tao <address@hidden>
Reviewed-by: Peter Crosthwaite <address@hidden>
> ---
> hw/display/g364fb.c | 2 +-
> hw/i386/kvm/pci-assign.c | 3 ++-
> hw/misc/ivshmem.c | 5 +++--
> hw/misc/vfio.c | 3 ++-
> hw/ppc/spapr.c | 2 +-
> include/exec/memory.h | 4 +++-
> memory.c | 5 +++--
> 7 files changed, 15 insertions(+), 9 deletions(-)
>
> diff --git a/hw/display/g364fb.c b/hw/display/g364fb.c
> index 46f7b41..cce33ae 100644
> --- a/hw/display/g364fb.c
> +++ b/hw/display/g364fb.c
> @@ -487,7 +487,7 @@ static void g364fb_init(DeviceState *dev, G364State *s)
>
> memory_region_init_io(&s->mem_ctrl, NULL, &g364fb_ctrl_ops, s, "ctrl",
> 0x180000);
> memory_region_init_ram_ptr(&s->mem_vram, NULL, "vram",
> - s->vram_size, s->vram);
> + s->vram_size, s->vram, &error_abort);
> vmstate_register_ram(&s->mem_vram, dev);
> memory_region_set_coalescing(&s->mem_vram);
> }
> diff --git a/hw/i386/kvm/pci-assign.c b/hw/i386/kvm/pci-assign.c
> index 5dcd2d5..d2013af 100644
> --- a/hw/i386/kvm/pci-assign.c
> +++ b/hw/i386/kvm/pci-assign.c
> @@ -456,7 +456,8 @@ static void assigned_dev_register_regions(PCIRegion
> *io_regions,
> object_get_typename(OBJECT(pci_dev)), i);
> memory_region_init_ram_ptr(&pci_dev->v_addrs[i].real_iomem,
> OBJECT(pci_dev), name,
> - cur_region->size, virtbase);
> + cur_region->size, virtbase,
> + &error_abort);
> vmstate_register_ram(&pci_dev->v_addrs[i].real_iomem,
> &pci_dev->dev.qdev);
> }
> diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c
> index 768e528..0949c15 100644
> --- a/hw/misc/ivshmem.c
> +++ b/hw/misc/ivshmem.c
> @@ -348,7 +348,7 @@ static void create_shared_memory_BAR(IVShmemState *s, int
> fd) {
> ptr = mmap(0, s->ivshmem_size, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
>
> memory_region_init_ram_ptr(&s->ivshmem, OBJECT(s), "ivshmem.bar2",
> - s->ivshmem_size, ptr);
> + s->ivshmem_size, ptr, &error_abort);
> vmstate_register_ram(&s->ivshmem, DEVICE(s));
> memory_region_add_subregion(&s->bar, 0, &s->ivshmem);
>
> @@ -476,7 +476,8 @@ static void ivshmem_read(void *opaque, const uint8_t *
> buf, int flags)
> map_ptr = mmap(0, s->ivshmem_size, PROT_READ|PROT_WRITE, MAP_SHARED,
> incoming_fd, 0);
> memory_region_init_ram_ptr(&s->ivshmem, OBJECT(s),
> - "ivshmem.bar2", s->ivshmem_size, map_ptr);
> + "ivshmem.bar2", s->ivshmem_size, map_ptr,
> + &error_abort);
> vmstate_register_ram(&s->ivshmem, DEVICE(s));
>
> IVSHMEM_DPRINTF("guest h/w addr = %" PRIu64 ", size = %" PRIu64 "\n",
> diff --git a/hw/misc/vfio.c b/hw/misc/vfio.c
> index 0b9eba0..91d2c95 100644
> --- a/hw/misc/vfio.c
> +++ b/hw/misc/vfio.c
> @@ -2894,7 +2894,8 @@ static int vfio_mmap_bar(VFIODevice *vdev, VFIOBAR *bar,
> goto empty_region;
> }
>
> - memory_region_init_ram_ptr(submem, OBJECT(vdev), name, size, *map);
> + memory_region_init_ram_ptr(submem, OBJECT(vdev), name, size, *map,
> + &error_abort);
> } else {
> empty_region:
> /* Create a zero sized sub-region to make cleanup easy. */
> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> index d01978f..4dfe40a 100644
> --- a/hw/ppc/spapr.c
> +++ b/hw/ppc/spapr.c
> @@ -1342,7 +1342,7 @@ static void ppc_spapr_init(MachineState *machine)
> if (rma_alloc_size && rma) {
> rma_region = g_new(MemoryRegion, 1);
> memory_region_init_ram_ptr(rma_region, NULL, "ppc_spapr.rma",
> - rma_alloc_size, rma);
> + rma_alloc_size, rma, &error_abort);
> vmstate_register_ram_global(rma_region);
> memory_region_add_subregion(sysmem, 0, rma_region);
> }
> diff --git a/include/exec/memory.h b/include/exec/memory.h
> index ec6299b..caa988d 100644
> --- a/include/exec/memory.h
> +++ b/include/exec/memory.h
> @@ -351,12 +351,14 @@ void memory_region_init_ram_from_file(MemoryRegion *mr,
> * @name: the name of the region.
> * @size: size of the region.
> * @ptr: memory to be mapped; must contain at least @size bytes.
> + * @errp: pointer to Error*, to store an error if it happens.
> */
> void memory_region_init_ram_ptr(MemoryRegion *mr,
> struct Object *owner,
> const char *name,
> uint64_t size,
> - void *ptr);
> + void *ptr,
> + Error **errp);
>
> /**
> * memory_region_init_alias: Initialize a memory region that aliases all or a
> diff --git a/memory.c b/memory.c
> index feecbb1..bcebfd8 100644
> --- a/memory.c
> +++ b/memory.c
> @@ -1194,13 +1194,14 @@ void memory_region_init_ram_ptr(MemoryRegion *mr,
> Object *owner,
> const char *name,
> uint64_t size,
> - void *ptr)
> + void *ptr,
> + Error **errp)
> {
> memory_region_init(mr, owner, name, size);
> mr->ram = true;
> mr->terminates = true;
> mr->destructor = memory_region_destructor_ram_from_ptr;
> - mr->ram_addr = qemu_ram_alloc_from_ptr(size, ptr, mr, &error_abort);
> + mr->ram_addr = qemu_ram_alloc_from_ptr(size, ptr, mr, errp);
> }
>
> void memory_region_init_alias(MemoryRegion *mr,
> --
> 1.9.3
>
>
- [Qemu-devel] [PATCH v5 0/6] memory API improvements and bug fixes for memory, Hu Tao, 2014/08/06
- [Qemu-devel] [PATCH v5 1/6] exec: add parameter errp to qemu_ram_alloc and qemu_ram_alloc_from_ptr, Hu Tao, 2014/08/06
- [Qemu-devel] [PATCH v5 2/6] memory: add parameter errp to memory_region_init_ram, Hu Tao, 2014/08/06
- [Qemu-devel] [PATCH v5 3/6] memory: add parameter errp to memory_region_init_ram_ptr, Hu Tao, 2014/08/06
- Re: [Qemu-devel] [PATCH v5 3/6] memory: add parameter errp to memory_region_init_ram_ptr,
Peter Crosthwaite <=
- [Qemu-devel] [PATCH v5 4/6] memory: add parameter errp to memory_region_init_rom_device, Hu Tao, 2014/08/06
- [Qemu-devel] [PATCH v5 5/6] hostmem-ram: don't exit qemu if size of memory-backend-ram is way too big, Hu Tao, 2014/08/06
- [Qemu-devel] [PATCH v5 6/6] exec: improve error handling and reporting in file_ram_alloc() and gethugepagesize(), Hu Tao, 2014/08/06