Message ID | 20231019071611.98885-2-philmd@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | hw: Strengthen SysBus & QBus API | expand |
On Thu, Oct 19, 2023 at 09:15:59AM +0200, Philippe Mathieu-Daudé wrote: > Date: Thu, 19 Oct 2023 09:15:59 +0200 > From: Philippe Mathieu-Daudé <philmd@linaro.org> > Subject: [PATCH v2 01/12] hw/i386/amd_iommu: Do not use SysBus API to map > local MMIO region > X-Mailer: git-send-email 2.41.0 > > There is no point in exposing an internal MMIO region via > SysBus and directly mapping it in the very same device. > > Just map it without using the SysBus API. > > Transformation done using the following coccinelle script: > > @@ > expression sbdev; > expression index; > expression addr; > expression subregion; > @@ > - sysbus_init_mmio(sbdev, subregion); > ... when != sbdev > - sysbus_mmio_map(sbdev, index, addr); > + memory_region_add_subregion(get_system_memory(), addr, subregion); > > Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> > Reviewed-by: Michael S. Tsirkin <mst@redhat.com> > --- > hw/i386/amd_iommu.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) Reviewed-by: Zhao Liu <zhao1.liu@intel.com> -Zhao > > diff --git a/hw/i386/amd_iommu.c b/hw/i386/amd_iommu.c > index 8d0f2f99dd..7965415b47 100644 > --- a/hw/i386/amd_iommu.c > +++ b/hw/i386/amd_iommu.c > @@ -1579,9 +1579,8 @@ static void amdvi_sysbus_realize(DeviceState *dev, Error **errp) > /* set up MMIO */ > memory_region_init_io(&s->mmio, OBJECT(s), &mmio_mem_ops, s, "amdvi-mmio", > AMDVI_MMIO_SIZE); > - > - sysbus_init_mmio(SYS_BUS_DEVICE(s), &s->mmio); > - sysbus_mmio_map(SYS_BUS_DEVICE(s), 0, AMDVI_BASE_ADDR); > + memory_region_add_subregion(get_system_memory(), AMDVI_BASE_ADDR, > + &s->mmio); > pci_setup_iommu(bus, amdvi_host_dma_iommu, s); > amdvi_init(s); > } > -- > 2.41.0 > > >
diff --git a/hw/i386/amd_iommu.c b/hw/i386/amd_iommu.c index 8d0f2f99dd..7965415b47 100644 --- a/hw/i386/amd_iommu.c +++ b/hw/i386/amd_iommu.c @@ -1579,9 +1579,8 @@ static void amdvi_sysbus_realize(DeviceState *dev, Error **errp) /* set up MMIO */ memory_region_init_io(&s->mmio, OBJECT(s), &mmio_mem_ops, s, "amdvi-mmio", AMDVI_MMIO_SIZE); - - sysbus_init_mmio(SYS_BUS_DEVICE(s), &s->mmio); - sysbus_mmio_map(SYS_BUS_DEVICE(s), 0, AMDVI_BASE_ADDR); + memory_region_add_subregion(get_system_memory(), AMDVI_BASE_ADDR, + &s->mmio); pci_setup_iommu(bus, amdvi_host_dma_iommu, s); amdvi_init(s); }