qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v5 4/6] memory: add parameter errp to memory_reg


From: Hu Tao
Subject: Re: [Qemu-devel] [PATCH v5 4/6] memory: add parameter errp to memory_region_init_rom_device
Date: Thu, 7 Aug 2014 16:57:28 +0800
User-agent: Mutt/1.5.21 (2010-09-15)

On Wed, Aug 06, 2014 at 10:32:53PM +1000, Peter Crosthwaite wrote:
> On Wed, Aug 6, 2014 at 3:36 PM, Hu Tao <address@hidden> wrote:
> > Add parameter errp to memory_region_init_rom_device and update all call
> > sites to pass in &error_abort.
> >
> > Signed-off-by: Hu Tao <address@hidden>
> 
> Reviewed-by: Peter Crosthwaite <address@hidden>
> 
> > ---
> >  hw/block/pflash_cfi01.c | 2 +-
> >  hw/block/pflash_cfi02.c | 2 +-
> >  include/exec/memory.h   | 4 +++-
> >  memory.c                | 5 +++--
> >  4 files changed, 8 insertions(+), 5 deletions(-)
> >
> > diff --git a/hw/block/pflash_cfi01.c b/hw/block/pflash_cfi01.c
> > index f9507b4..649565d 100644
> > --- a/hw/block/pflash_cfi01.c
> > +++ b/hw/block/pflash_cfi01.c
> > @@ -770,7 +770,7 @@ static void pflash_cfi01_realize(DeviceState *dev, 
> > Error **errp)
> >      memory_region_init_rom_device(
> >          &pfl->mem, OBJECT(dev),
> >          pfl->be ? &pflash_cfi01_ops_be : &pflash_cfi01_ops_le, pfl,
> > -        pfl->name, total_len);
> > +        pfl->name, total_len, &error_abort);
> >      vmstate_register_ram(&pfl->mem, DEVICE(pfl));
> >      pfl->storage = memory_region_get_ram_ptr(&pfl->mem);
> >      sysbus_init_mmio(SYS_BUS_DEVICE(dev), &pfl->mem);
> > diff --git a/hw/block/pflash_cfi02.c b/hw/block/pflash_cfi02.c
> > index 8d4b828..49db02d 100644
> > --- a/hw/block/pflash_cfi02.c
> > +++ b/hw/block/pflash_cfi02.c
> > @@ -608,7 +608,7 @@ static void pflash_cfi02_realize(DeviceState *dev, 
> > Error **errp)
> >
> >      memory_region_init_rom_device(&pfl->orig_mem, OBJECT(pfl), pfl->be ?
> >                                    &pflash_cfi02_ops_be : 
> > &pflash_cfi02_ops_le,
> > -                                  pfl, pfl->name, chip_len);
> > +                                  pfl, pfl->name, chip_len, &error_abort);
> 
> We probably should take the opportunity to error_propagate in these
> cases, to prepare support for hotplug of devs like this. But I think
> your blind conversions are a good first step as they will preserve
> existing behaviour. So lets call that follow up.

The same pattern is done in patch 2 and patch 5 :)

> 
> Regards,
> Peter
> 
> >      vmstate_register_ram(&pfl->orig_mem, DEVICE(pfl));
> >      pfl->storage = memory_region_get_ram_ptr(&pfl->orig_mem);
> >      pfl->chip_len = chip_len;
> > diff --git a/include/exec/memory.h b/include/exec/memory.h
> > index caa988d..71bed47 100644
> > --- a/include/exec/memory.h
> > +++ b/include/exec/memory.h
> > @@ -388,13 +388,15 @@ void memory_region_init_alias(MemoryRegion *mr,
> >   * @ops: callbacks for write access handling.
> >   * @name: the name of the region.
> >   * @size: size of the region.
> > + * @errp: pointer to Error*, to store an error if it happens.
> >   */
> >  void memory_region_init_rom_device(MemoryRegion *mr,
> >                                     struct Object *owner,
> >                                     const MemoryRegionOps *ops,
> >                                     void *opaque,
> >                                     const char *name,
> > -                                   uint64_t size);
> > +                                   uint64_t size,
> > +                                   Error **errp);
> >
> >  /**
> >   * memory_region_init_reservation: Initialize a memory region that reserves
> > diff --git a/memory.c b/memory.c
> > index bcebfd8..06a7e1b 100644
> > --- a/memory.c
> > +++ b/memory.c
> > @@ -1223,7 +1223,8 @@ void memory_region_init_rom_device(MemoryRegion *mr,
> >                                     const MemoryRegionOps *ops,
> >                                     void *opaque,
> >                                     const char *name,
> > -                                   uint64_t size)
> > +                                   uint64_t size,
> > +                                   Error **errp)
> >  {
> >      memory_region_init(mr, owner, name, size);
> >      mr->ops = ops;
> > @@ -1231,7 +1232,7 @@ void memory_region_init_rom_device(MemoryRegion *mr,
> >      mr->terminates = true;
> >      mr->rom_device = true;
> >      mr->destructor = memory_region_destructor_rom_device;
> > -    mr->ram_addr = qemu_ram_alloc(size, mr, &error_abort);
> > +    mr->ram_addr = qemu_ram_alloc(size, mr, errp);
> >  }
> >
> >  void memory_region_init_iommu(MemoryRegion *mr,
> > --
> > 1.9.3
> >
> >



reply via email to

[Prev in Thread] Current Thread [Next in Thread]