hw/sysbus: Add sysbus_mmio_get_region()
Add a sysbus_mmio_get_region() which allows users of sysbus devices to turn a (SysBusDevice*, mmioidx) tuple into a MemoryRegion*. This enables some useful simplifications of devices which pass through another device's mmio region (either directly or by implementing some kind of memory controller device). Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
9f94778c16
commit
46c305ef6b
@ -131,6 +131,11 @@ void sysbus_init_mmio_region(SysBusDevice *dev, MemoryRegion *memory)
|
||||
dev->mmio[n].memory = memory;
|
||||
}
|
||||
|
||||
MemoryRegion *sysbus_mmio_get_region(SysBusDevice *dev, int n)
|
||||
{
|
||||
return dev->mmio[n].memory;
|
||||
}
|
||||
|
||||
void sysbus_init_ioports(SysBusDevice *dev, pio_addr_t ioport, pio_addr_t size)
|
||||
{
|
||||
pio_addr_t i;
|
||||
|
@ -50,6 +50,7 @@ void sysbus_init_mmio(SysBusDevice *dev, target_phys_addr_t size,
|
||||
void sysbus_init_mmio_cb2(SysBusDevice *dev,
|
||||
mmio_mapfunc cb, mmio_mapfunc unmap);
|
||||
void sysbus_init_mmio_region(SysBusDevice *dev, MemoryRegion *memory);
|
||||
MemoryRegion *sysbus_mmio_get_region(SysBusDevice *dev, int n);
|
||||
void sysbus_init_irq(SysBusDevice *dev, qemu_irq *p);
|
||||
void sysbus_pass_irq(SysBusDevice *dev, SysBusDevice *target);
|
||||
void sysbus_init_ioports(SysBusDevice *dev, pio_addr_t ioport, pio_addr_t size);
|
||||
|
Loading…
Reference in New Issue
Block a user