q800: move SWIM device to Q800MachineState
Also change the instantiation of the SWIM device to use object_initialize_child(). Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Laurent Vivier <laurent@vivier.eu> Message-Id: <20230621085353.113233-20-mark.cave-ayland@ilande.co.uk> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
This commit is contained in:
parent
e78d17ca7d
commit
01f35a4f1c
|
@ -406,10 +406,12 @@ static void q800_machine_init(MachineState *machine)
|
||||||
|
|
||||||
/* SWIM floppy controller */
|
/* SWIM floppy controller */
|
||||||
|
|
||||||
dev = qdev_new(TYPE_SWIM);
|
object_initialize_child(OBJECT(machine), "swim", &m->swim,
|
||||||
sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
|
TYPE_SWIM);
|
||||||
|
sysbus = SYS_BUS_DEVICE(&m->swim);
|
||||||
|
sysbus_realize(sysbus, &error_fatal);
|
||||||
memory_region_add_subregion(&m->macio, SWIM_BASE - IO_BASE,
|
memory_region_add_subregion(&m->macio, SWIM_BASE - IO_BASE,
|
||||||
sysbus_mmio_get_region(SYS_BUS_DEVICE(dev), 0));
|
sysbus_mmio_get_region(sysbus, 0));
|
||||||
|
|
||||||
/* NuBus */
|
/* NuBus */
|
||||||
|
|
||||||
|
|
|
@ -33,6 +33,7 @@
|
||||||
#include "hw/char/escc.h"
|
#include "hw/char/escc.h"
|
||||||
#include "hw/or-irq.h"
|
#include "hw/or-irq.h"
|
||||||
#include "hw/scsi/esp.h"
|
#include "hw/scsi/esp.h"
|
||||||
|
#include "hw/block/swim.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The main Q800 machine
|
* The main Q800 machine
|
||||||
|
@ -50,6 +51,7 @@ struct Q800MachineState {
|
||||||
ESCCState escc;
|
ESCCState escc;
|
||||||
OrIRQState escc_orgate;
|
OrIRQState escc_orgate;
|
||||||
SysBusESPState esp;
|
SysBusESPState esp;
|
||||||
|
Swim swim;
|
||||||
MemoryRegion macio;
|
MemoryRegion macio;
|
||||||
MemoryRegion macio_alias;
|
MemoryRegion macio_alias;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue