[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 5/6] fw_cfg: use sysbus_init_mmio() in fw_cfg_io
From: |
Igor Mammedov |
Subject: |
Re: [Qemu-devel] [PATCH 5/6] fw_cfg: use sysbus_init_mmio() in fw_cfg_io_realize() |
Date: |
Mon, 12 Jun 2017 14:16:22 +0200 |
On Sat, 10 Jun 2017 13:30:20 +0100
Mark Cave-Ayland <address@hidden> wrote:
> This brings the function in line with fw_cfg_mem_realize(), deferring the
> actual mapping until outside of the realize function.
you are changing used API here, so add to commit message why is that
>
> Signed-off-by: Mark Cave-Ayland <address@hidden>
> ---
> hw/nvram/fw_cfg.c | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/hw/nvram/fw_cfg.c b/hw/nvram/fw_cfg.c
> index 87b4392..4159316 100644
> --- a/hw/nvram/fw_cfg.c
> +++ b/hw/nvram/fw_cfg.c
> @@ -941,6 +941,7 @@ FWCfgState *fw_cfg_init_io_dma(uint32_t iobase, uint32_t
> dma_iobase,
> AddressSpace *dma_as)
> {
> DeviceState *dev;
> + SysBusDevice *sbd;
> FWCfgState *s;
> bool dma_requested = dma_iobase && dma_as;
>
> @@ -953,12 +954,16 @@ FWCfgState *fw_cfg_init_io_dma(uint32_t iobase,
> uint32_t dma_iobase,
>
> qdev_init_nofail(dev);
>
> + sbd = SYS_BUS_DEVICE(dev);
> + sysbus_add_io(ssysbus_mmio_map_overlapbd, iobase,
> sysbus_mmio_get_region(sbd, 0));
sysbus_mmio_map()/sysbus_mmio_map_overlap() is a proper conterpart for
sysbus_init_mmio
so I'd use that if APIs are switched.
> +
> s = FW_CFG(dev);
>
> if (s->dma_enabled) {
> /* 64 bits for the address field */
> s->dma_as = dma_as;
> s->dma_addr = 0;
> + sysbus_add_io(sbd, dma_iobase, sysbus_mmio_get_region(sbd, 1));
> }
>
> return s;
> @@ -1090,13 +1095,13 @@ static void fw_cfg_io_realize(DeviceState *dev, Error
> **errp)
> * of the i/o region used is FW_CFG_CTL_SIZE */
> memory_region_init_io(&s->comb_iomem, OBJECT(s), &fw_cfg_comb_mem_ops,
> FW_CFG(s), "fwcfg", FW_CFG_CTL_SIZE);
> - sysbus_add_io(sbd, s->iobase, &s->comb_iomem);
> + sysbus_init_mmio(sbd, &s->comb_iomem);
>
> if (FW_CFG(s)->dma_enabled) {
> memory_region_init_io(&FW_CFG(s)->dma_iomem, OBJECT(s),
> &fw_cfg_dma_mem_ops, FW_CFG(s), "fwcfg.dma",
> sizeof(dma_addr_t));
> - sysbus_add_io(sbd, s->dma_iobase, &FW_CFG(s)->dma_iomem);
> + sysbus_init_mmio(sbd, &FW_CFG(s)->dma_iomem);
> }
> }
>
- [Qemu-devel] [PATCH 6/6] fw_cfg: move QOM type defines into fw_cfg.h, (continued)
- [Qemu-devel] [PATCH 6/6] fw_cfg: move QOM type defines into fw_cfg.h, Mark Cave-Ayland, 2017/06/10
- [Qemu-devel] [PATCH 2/6] fw_cfg: move qdev_init_nofail() out from fw_cfg_init1() into callers, Mark Cave-Ayland, 2017/06/10
- [Qemu-devel] [PATCH 1/6] fw_cfg: move initialisation of FWCfgState into instance_init, Mark Cave-Ayland, 2017/06/10
- [Qemu-devel] [PATCH 5/6] fw_cfg: use sysbus_init_mmio() in fw_cfg_io_realize(), Mark Cave-Ayland, 2017/06/10
- Re: [Qemu-devel] [PATCH 5/6] fw_cfg: use sysbus_init_mmio() in fw_cfg_io_realize(),
Igor Mammedov <=
- [Qemu-devel] [PATCH 3/6] fw_cfg: move setting of FW_CFG_ID into fw_cfg_init1(), Mark Cave-Ayland, 2017/06/10
- [Qemu-devel] [PATCH 4/6] fw_cfg: move fw_cfg_init1() into the fw_cfg_*_realize() functions, Mark Cave-Ayland, 2017/06/10
- Re: [Qemu-devel] [PATCH 0/6] fw_cfg: qdev-related tidy-ups, Philippe Mathieu-Daudé, 2017/06/10