qemu/hw/m68k
Peter Maydell 660bef3390 hw/m68k/next-cube: Move register/interrupt functionality into a device
Currently the next-cube board code open-codes a lot of handling of
interrupts and some miscellaneous registers.  Move this into a proper
QOM device.

In the real hardware this functionality seems to be the
responsibility of the Peripheral Controller (PC) chip, so name the
device that.

There are several different things that will need to be moved into
this device:
 * the mmio_iops register set
 * the scr_ops register set
 * the next_irq IRQ handling

To ease review, we structure the change as a sequence of commits: in
this first commit we create the skeleton of the NeXTPC device with no
content, but with a backdoor pointer to the NeXTState machine's state
struct so we can move parts of the code and still have refactored and
non-refactored code using the same struct data fields.  Further
commits will move functionality into the new device piece by piece.
At the end we will be able to remove the backdoor pointer because all
the data fields will be in the NeXTPC struct and not the NeXTState
struct.

We'll add the VMState for the new device at the end of all that; this
is in theory a migration compatibility break but this machine does
not currently support migration at all anyway.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20210115201206.17347-3-peter.maydell@linaro.org>
[huth: Add a comment in front of struct NeXTPC]
Signed-off-by: Thomas Huth <huth@tuxfamily.org>
2021-01-19 09:10:53 +01:00
..
an5206.c hw/m68k: QOMify the mcf5206 system integration module 2020-09-03 12:47:33 +02:00
bootinfo.h misc: Replace zero-length arrays with flexible array member (automatic) 2020-03-16 22:07:42 +01:00
Kconfig hw/m68k/q800: Don't connect two qemu_irqs directly to the same input 2020-12-12 18:05:30 +01:00
mcf5206.c m68k: do not use ram_size global 2020-12-10 12:15:08 -05:00
mcf5208.c vl: extract softmmu/datadir.c 2020-12-10 12:15:18 -05:00
mcf_intc.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
meson.build meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
next-cube.c hw/m68k/next-cube: Move register/interrupt functionality into a device 2021-01-19 09:10:53 +01:00
next-kbd.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
q800.c hw/m68k/q800.c: Make the GLUE chip an actual QOM device 2020-12-12 18:06:01 +01:00