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
>
>
>