mips: use sysbus_mmio_get_region() instead of internal fields
Register the memory region with sysbus_init_mmio() and look it up with sysbus_mmio_get_region() to avoid accessing internal device fields. Suggested-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Aleksandar Markovic <amarkovic@wavecomp.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
This commit is contained in:
parent
4f1733d4c0
commit
d9259178fe
@ -998,6 +998,7 @@ static void serial_io_realize(DeviceState *dev, Error **errp)
|
||||
}
|
||||
|
||||
memory_region_init_io(&s->io, NULL, &serial_io_ops, s, "serial", 8);
|
||||
sysbus_init_mmio(SYS_BUS_DEVICE(sio), &s->io);
|
||||
sysbus_init_irq(SYS_BUS_DEVICE(sio), &s->irq);
|
||||
}
|
||||
|
||||
|
@ -227,7 +227,8 @@ mips_mipssim_init(MachineState *machine)
|
||||
qdev_set_legacy_instance_id(dev, 0x3f8, 2);
|
||||
qdev_init_nofail(dev);
|
||||
sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, env->irq[4]);
|
||||
sysbus_add_io(SYS_BUS_DEVICE(dev), 0x3f8, &SERIAL_IO(dev)->serial.io);
|
||||
sysbus_add_io(SYS_BUS_DEVICE(dev), 0x3f8,
|
||||
sysbus_mmio_get_region(SYS_BUS_DEVICE(dev), 0));
|
||||
}
|
||||
|
||||
if (nd_table[0].used)
|
||||
|
Loading…
Reference in New Issue
Block a user