next-cube: map ESCC registers as a subregion of the next.scr memory region

Since the ESCC device exists within the memory range of the next.scr memory region, map
the ESCC device registers as a subregion of the next.scr memory region instead of
directly to the system address space.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Thomas Huth <huth@tuxfamily.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20241222130012.1013374-11-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Thomas Huth <huth@tuxfamily.org>
This commit is contained in:
Mark Cave-Ayland 2024-12-22 12:59:49 +00:00 committed by Thomas Huth
parent df21980591
commit f85929270c

View file

@ -980,6 +980,7 @@ static const MemoryRegionOps next_floppy_ops = {
static void next_escc_init(DeviceState *pcdev)
{
NeXTPC *next_pc = NEXT_PC(pcdev);
DeviceState *dev;
SysBusDevice *s;
@ -997,7 +998,9 @@ static void next_escc_init(DeviceState *pcdev)
sysbus_realize_and_unref(s, &error_fatal);
sysbus_connect_irq(s, 0, qdev_get_gpio_in(pcdev, NEXT_SCC_I));
sysbus_connect_irq(s, 1, qdev_get_gpio_in(pcdev, NEXT_SCC_DMA_I));
sysbus_mmio_map(s, 0, 0x2118000);
memory_region_add_subregion(&next_pc->scrmem, 0x18000,
sysbus_mmio_get_region(s, 0));
}
static void next_pc_reset(DeviceState *dev)