* [PATCH] hw/sysbus: Inline and remove sysbus_add_io()
@ 2024-02-16 15:04 Philippe Mathieu-Daudé
2024-02-18 10:55 ` Philippe Mathieu-Daudé
2024-02-20 14:04 ` Peter Maydell
0 siblings, 2 replies; 3+ messages in thread
From: Philippe Mathieu-Daudé @ 2024-02-16 15:04 UTC (permalink / raw)
To: qemu-devel
Cc: Philippe Mathieu-Daudé, Paolo Bonzini, Richard Henderson,
Gerd Hoffmann, kvm, Michael S. Tsirkin, Marcel Apfelbaum,
Daniel P. Berrangé, Eduardo Habkost, Aleksandar Rikalo
sysbus_add_io(...) is a simple wrapper to
memory_region_add_subregion(get_system_io(), ...).
It is used in 3 places; inline it directly.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
include/hw/sysbus.h | 2 --
hw/core/sysbus.c | 6 ------
hw/i386/kvmvapic.c | 2 +-
hw/mips/mipssim.c | 2 +-
hw/nvram/fw_cfg.c | 5 +++--
5 files changed, 5 insertions(+), 12 deletions(-)
diff --git a/include/hw/sysbus.h b/include/hw/sysbus.h
index 3564b7b6a2..14dbc22d0c 100644
--- a/include/hw/sysbus.h
+++ b/include/hw/sysbus.h
@@ -83,8 +83,6 @@ void sysbus_mmio_map(SysBusDevice *dev, int n, hwaddr addr);
void sysbus_mmio_map_overlap(SysBusDevice *dev, int n, hwaddr addr,
int priority);
void sysbus_mmio_unmap(SysBusDevice *dev, int n);
-void sysbus_add_io(SysBusDevice *dev, hwaddr addr,
- MemoryRegion *mem);
MemoryRegion *sysbus_address_space(SysBusDevice *dev);
bool sysbus_realize(SysBusDevice *dev, Error **errp);
diff --git a/hw/core/sysbus.c b/hw/core/sysbus.c
index 35f902b582..9f1d5b2d6d 100644
--- a/hw/core/sysbus.c
+++ b/hw/core/sysbus.c
@@ -298,12 +298,6 @@ static char *sysbus_get_fw_dev_path(DeviceState *dev)
return g_strdup(qdev_fw_name(dev));
}
-void sysbus_add_io(SysBusDevice *dev, hwaddr addr,
- MemoryRegion *mem)
-{
- memory_region_add_subregion(get_system_io(), addr, mem);
-}
-
MemoryRegion *sysbus_address_space(SysBusDevice *dev)
{
return get_system_memory();
diff --git a/hw/i386/kvmvapic.c b/hw/i386/kvmvapic.c
index f2b0aff479..3be64fba3b 100644
--- a/hw/i386/kvmvapic.c
+++ b/hw/i386/kvmvapic.c
@@ -727,7 +727,7 @@ static void vapic_realize(DeviceState *dev, Error **errp)
VAPICROMState *s = VAPIC(dev);
memory_region_init_io(&s->io, OBJECT(s), &vapic_ops, s, "kvmvapic", 2);
- sysbus_add_io(sbd, VAPIC_IO_PORT, &s->io);
+ memory_region_add_subregion(get_system_io(), VAPIC_IO_PORT, &s->io);
sysbus_init_ioports(sbd, VAPIC_IO_PORT, 2);
option_rom[nb_option_roms].name = "kvmvapic.bin";
diff --git a/hw/mips/mipssim.c b/hw/mips/mipssim.c
index a12427b6c8..57c8c33e2b 100644
--- a/hw/mips/mipssim.c
+++ b/hw/mips/mipssim.c
@@ -226,7 +226,7 @@ mips_mipssim_init(MachineState *machine)
qdev_prop_set_uint8(dev, "endianness", DEVICE_LITTLE_ENDIAN);
sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, env->irq[4]);
- sysbus_add_io(SYS_BUS_DEVICE(dev), 0x3f8,
+ memory_region_add_subregion(get_system_io(), 0x3f8,
sysbus_mmio_get_region(SYS_BUS_DEVICE(dev), 0));
}
diff --git a/hw/nvram/fw_cfg.c b/hw/nvram/fw_cfg.c
index e85493d513..6d6b17462d 100644
--- a/hw/nvram/fw_cfg.c
+++ b/hw/nvram/fw_cfg.c
@@ -1142,6 +1142,7 @@ FWCfgState *fw_cfg_init_io_dma(uint32_t iobase, uint32_t dma_iobase,
SysBusDevice *sbd;
FWCfgIoState *ios;
FWCfgState *s;
+ MemoryRegion *iomem = get_system_io();
bool dma_requested = dma_iobase && dma_as;
dev = qdev_new(TYPE_FW_CFG_IO);
@@ -1155,7 +1156,7 @@ FWCfgState *fw_cfg_init_io_dma(uint32_t iobase, uint32_t dma_iobase,
sbd = SYS_BUS_DEVICE(dev);
sysbus_realize_and_unref(sbd, &error_fatal);
ios = FW_CFG_IO(dev);
- sysbus_add_io(sbd, iobase, &ios->comb_iomem);
+ memory_region_add_subregion(iomem, iobase, &ios->comb_iomem);
s = FW_CFG(dev);
@@ -1163,7 +1164,7 @@ FWCfgState *fw_cfg_init_io_dma(uint32_t iobase, uint32_t dma_iobase,
/* 64 bits for the address field */
s->dma_as = dma_as;
s->dma_addr = 0;
- sysbus_add_io(sbd, dma_iobase, &s->dma_iomem);
+ memory_region_add_subregion(iomem, dma_iobase, &s->dma_iomem);
}
return s;
--
2.41.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] hw/sysbus: Inline and remove sysbus_add_io()
2024-02-16 15:04 [PATCH] hw/sysbus: Inline and remove sysbus_add_io() Philippe Mathieu-Daudé
@ 2024-02-18 10:55 ` Philippe Mathieu-Daudé
2024-02-20 14:04 ` Peter Maydell
1 sibling, 0 replies; 3+ messages in thread
From: Philippe Mathieu-Daudé @ 2024-02-18 10:55 UTC (permalink / raw)
To: qemu-devel
Cc: Paolo Bonzini, Richard Henderson, Gerd Hoffmann, kvm,
Michael S. Tsirkin, Marcel Apfelbaum, Daniel P. Berrangé,
Eduardo Habkost, Aleksandar Rikalo
On 16/2/24 16:04, Philippe Mathieu-Daudé wrote:
> sysbus_add_io(...) is a simple wrapper to
> memory_region_add_subregion(get_system_io(), ...).
> It is used in 3 places; inline it directly.
Rationale here is we want to move to an explicit I/O bus,
rather that an implicit one. Besides in heterogeneous
setup we can have more than one I/O bus.
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
> include/hw/sysbus.h | 2 --
> hw/core/sysbus.c | 6 ------
> hw/i386/kvmvapic.c | 2 +-
> hw/mips/mipssim.c | 2 +-
> hw/nvram/fw_cfg.c | 5 +++--
> 5 files changed, 5 insertions(+), 12 deletions(-)
>
> diff --git a/include/hw/sysbus.h b/include/hw/sysbus.h
> index 3564b7b6a2..14dbc22d0c 100644
> --- a/include/hw/sysbus.h
> +++ b/include/hw/sysbus.h
> @@ -83,8 +83,6 @@ void sysbus_mmio_map(SysBusDevice *dev, int n, hwaddr addr);
> void sysbus_mmio_map_overlap(SysBusDevice *dev, int n, hwaddr addr,
> int priority);
> void sysbus_mmio_unmap(SysBusDevice *dev, int n);
> -void sysbus_add_io(SysBusDevice *dev, hwaddr addr,
> - MemoryRegion *mem);
> MemoryRegion *sysbus_address_space(SysBusDevice *dev);
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] hw/sysbus: Inline and remove sysbus_add_io()
2024-02-16 15:04 [PATCH] hw/sysbus: Inline and remove sysbus_add_io() Philippe Mathieu-Daudé
2024-02-18 10:55 ` Philippe Mathieu-Daudé
@ 2024-02-20 14:04 ` Peter Maydell
1 sibling, 0 replies; 3+ messages in thread
From: Peter Maydell @ 2024-02-20 14:04 UTC (permalink / raw)
To: Philippe Mathieu-Daudé
Cc: qemu-devel, Paolo Bonzini, Richard Henderson, Gerd Hoffmann, kvm,
Michael S. Tsirkin, Marcel Apfelbaum, Daniel P. Berrangé,
Eduardo Habkost, Aleksandar Rikalo
On Fri, 16 Feb 2024 at 15:05, Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
>
> sysbus_add_io(...) is a simple wrapper to
> memory_region_add_subregion(get_system_io(), ...).
> It is used in 3 places; inline it directly.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
> include/hw/sysbus.h | 2 --
> hw/core/sysbus.c | 6 ------
> hw/i386/kvmvapic.c | 2 +-
> hw/mips/mipssim.c | 2 +-
> hw/nvram/fw_cfg.c | 5 +++--
> 5 files changed, 5 insertions(+), 12 deletions(-)
>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
thanks
-- PMM
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-02-20 14:05 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-16 15:04 [PATCH] hw/sysbus: Inline and remove sysbus_add_io() Philippe Mathieu-Daudé
2024-02-18 10:55 ` Philippe Mathieu-Daudé
2024-02-20 14:04 ` Peter Maydell
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).