This series contains a number of tidy-ups and improvements to the NeXTCube machine which include:
- Bringing the code up-to-date with our latest coding standards/APIs, in particular related to the board configuration and IRQ wiring - Remove the remaining overlapping memory regions and consolidating multiple register implementations into a single place - Add a new next-scsi device containing the ESP device and its associated CSRs - Adding the empty_slot device to fill unimplemented devices and removing the "catch-all" next.scr memory region - QOMifying the next-rtc device and wiring it up with gpios as required The next-cube machine looks in fairly good shape now, the main remaining work is to create a separate device for the DMA controller and update the wiring of the IRQs (including to the CPU) accordingly. There is no change to the behaviour of the next-cube machine with this series in that the next-cube machine with a suitable ROM image can now load the kernel from a pre-installed NeXTStep image and start executing it. Note that due to the device model changes this is a migration break, however since the next-cube machine is currently unable to boot anything useful, I don't see this as an issue. Signed-off-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> [Patches still needing review: 3, 7, 8, 11, 17, 21, 25, 28, 29, 30, 31, 34] v2: - Rebase onto master - Drop patches 1 and 4 (these have been merged separately as bugfixes) - Add R-B tags from Thomas and Phil - Update commit message in patch 2 - Add comments containing system register addresses as requested by Thomas in patch 2 - Update description for patch 7 explaining that the SCSI CSRs are also now modelled as standard registers (similar to Previous) - Update description for patch 8 explaining why the previously hardcoded value has been dropped - Add comments suggesting unimplemented devices in patch 14 - Remove next_rtc_vmstate from next_pc_vmstate in patch 25 - Fix cut/paste error in patch 30 headline Mark Cave-Ayland (34): next-cube: remove 0x14020 dummy value from next_mmio_read() next-cube: remove overlap between next.dma and next.mmio memory regions next-cube: create new next.scsi container memory region next-cube: move next_scsi_init() to next_pc_realize() next-cube: introduce next_pc_init() object init function next-cube: introduce next-scsi device next-cube: move SCSI CSRs from next-pc to the next-scsi device next-cube: move SCSI 4020/4021 logic from next-pc device to next-scsi device next-cube: move floppy disk MMIO to separate memory region in next-pc next-cube: map ESCC registers as a subregion of the next.scr memory region next-cube: move ESCC to be QOM child of next-pc device next-cube: move timer MMIO to separate memory region on next-pc device next-cube: move en ethernet MMIO to separate memory region on next-pc device next-cube: add empty slots for unknown accesses to next.scr memory region next-cube: remove unused next.scr memory region next-cube: rearrange NeXTState declarations to improve readability next-cube: convert next-pc device to use Resettable interface next-cube: rename typedef struct NextRtc to NeXTRTC next-cube: use qemu_irq to drive int_status in next_scr2_rtc_update() next-cube: separate rtc read and write shift logic next-cube: always use retval to return rtc read values next-cube: use named gpio to set RTC data bit in scr2 next-cube: use named gpio to read RTC data bit in scr2 next-cube: don't use rtc phase value of -1 next-cube: QOMify NeXTRTC next-cube: move reset of next-rtc fields from next-pc to next-rtc next-cube: move rtc-data-in gpio from next-pc to next-rtc device next-cube: use named gpio output for next-rtc data next-cube: add rtc-cmd-reset named gpio to reset the rtc state machine next-cube: add rtc-power-out named gpio to trigger the NEXT_PWR_I interrupt next-cube: move next_rtc_cmd_is_write() and next_rtc_data_in_irq() functions next-cube: rename old_scr2 and scr2_2 in next_scr2_rtc_update() next-cube: add my copyright to the top of the file next-cube: replace boiler-plate GPL 2.0 or later license text with SPDX identifier hw/m68k/Kconfig | 1 + hw/m68k/next-cube.c | 1026 +++++++++++++++++++++++++++---------------- 2 files changed, 659 insertions(+), 368 deletions(-) -- 2.39.5