diff options
author | Avi Kivity <avi@redhat.com> | 2011-07-24 17:12:11 +0300 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2011-09-04 17:46:50 +0300 |
commit | 2b985d9c29efdd0a8394ad6b2edd2ba1acdb3536 (patch) | |
tree | 7e7964dfc6220c9a8165a011457fe3e263a2fbd2 /hw | |
parent | f070e1e227e0d4dd468b48b39a1581ca78ff419e (diff) | |
download | qemu-2b985d9c29efdd0a8394ad6b2edd2ba1acdb3536.tar.gz qemu-2b985d9c29efdd0a8394ad6b2edd2ba1acdb3536.tar.bz2 qemu-2b985d9c29efdd0a8394ad6b2edd2ba1acdb3536.zip |
sysbus: add helpers to add and delete memory regions to the system bus
Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'hw')
-rw-r--r-- | hw/sysbus.c | 22 | ||||
-rw-r--r-- | hw/sysbus.h | 6 |
2 files changed, 28 insertions, 0 deletions
diff --git a/hw/sysbus.c b/hw/sysbus.c index c365d39d24..02b4e49a91 100644 --- a/hw/sysbus.c +++ b/hw/sysbus.c @@ -261,3 +261,25 @@ static char *sysbus_get_fw_dev_path(DeviceState *dev) return strdup(path); } + +void sysbus_add_memory(SysBusDevice *dev, target_phys_addr_t addr, + MemoryRegion *mem) +{ + memory_region_add_subregion(get_system_memory(), addr, mem); +} + +void sysbus_del_memory(SysBusDevice *dev, MemoryRegion *mem) +{ + memory_region_del_subregion(get_system_memory(), mem); +} + +void sysbus_add_io(SysBusDevice *dev, target_phys_addr_t addr, + MemoryRegion *mem) +{ + memory_region_add_subregion(get_system_io(), addr, mem); +} + +void sysbus_del_io(SysBusDevice *dev, MemoryRegion *mem) +{ + memory_region_del_subregion(get_system_io(), mem); +} diff --git a/hw/sysbus.h b/hw/sysbus.h index aa3d383277..e14055fdfd 100644 --- a/hw/sysbus.h +++ b/hw/sysbus.h @@ -58,6 +58,12 @@ void sysbus_init_ioports(SysBusDevice *dev, pio_addr_t ioport, pio_addr_t size); void sysbus_connect_irq(SysBusDevice *dev, int n, qemu_irq irq); void sysbus_mmio_map(SysBusDevice *dev, int n, target_phys_addr_t addr); +void sysbus_add_memory(SysBusDevice *dev, target_phys_addr_t addr, + MemoryRegion *mem); +void sysbus_del_memory(SysBusDevice *dev, MemoryRegion *mem); +void sysbus_add_io(SysBusDevice *dev, target_phys_addr_t addr, + MemoryRegion *mem); +void sysbus_del_io(SysBusDevice *dev, MemoryRegion *mem); /* Legacy helper function for creating devices. */ DeviceState *sysbus_create_varargs(const char *name, |