mirror of
https://github.com/xemu-project/xemu.git
synced 2024-11-28 05:50:37 +00:00
sysbus: Expose MMIO enumeration helper
Sysbus devices have a range of MMIO regions they expose. The exact number of regions is device specific and internal information to the device model. Expose whether a region exists via a public interface. That way our platform bus enumeration code can dynamically determine how many regions exist. Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
parent
b797318666
commit
471a9bc144
@ -110,6 +110,12 @@ void sysbus_connect_irq(SysBusDevice *dev, int n, qemu_irq irq)
|
|||||||
qdev_connect_gpio_out_named(DEVICE(dev), SYSBUS_DEVICE_GPIO_IRQ, n, irq);
|
qdev_connect_gpio_out_named(DEVICE(dev), SYSBUS_DEVICE_GPIO_IRQ, n, irq);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Check whether an MMIO region exists */
|
||||||
|
bool sysbus_has_mmio(SysBusDevice *dev, unsigned int n)
|
||||||
|
{
|
||||||
|
return (n < dev->num_mmio);
|
||||||
|
}
|
||||||
|
|
||||||
static void sysbus_mmio_map_common(SysBusDevice *dev, int n, hwaddr addr,
|
static void sysbus_mmio_map_common(SysBusDevice *dev, int n, hwaddr addr,
|
||||||
bool may_overlap, int priority)
|
bool may_overlap, int priority)
|
||||||
{
|
{
|
||||||
|
@ -67,6 +67,7 @@ void sysbus_init_ioports(SysBusDevice *dev, pio_addr_t ioport, pio_addr_t size);
|
|||||||
|
|
||||||
|
|
||||||
bool sysbus_has_irq(SysBusDevice *dev, int n);
|
bool sysbus_has_irq(SysBusDevice *dev, int n);
|
||||||
|
bool sysbus_has_mmio(SysBusDevice *dev, unsigned int n);
|
||||||
void sysbus_connect_irq(SysBusDevice *dev, int n, qemu_irq irq);
|
void sysbus_connect_irq(SysBusDevice *dev, int n, qemu_irq irq);
|
||||||
bool sysbus_is_irq_connected(SysBusDevice *dev, int n);
|
bool sysbus_is_irq_connected(SysBusDevice *dev, int n);
|
||||||
qemu_irq sysbus_get_connected_irq(SysBusDevice *dev, int n);
|
qemu_irq sysbus_get_connected_irq(SysBusDevice *dev, int n);
|
||||||
|
Loading…
Reference in New Issue
Block a user