All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 00/33] next-cube: more tidy-ups and improvements
@ 2024-12-22 12:59 Mark Cave-Ayland
  2024-12-22 12:59 ` [PATCH v3 01/33] next-cube: remove 0x14020 dummy value from next_mmio_read() Mark Cave-Ayland
                   ` (33 more replies)
  0 siblings, 34 replies; 35+ messages in thread
From: Mark Cave-Ayland @ 2024-12-22 12:59 UTC (permalink / raw)
  To: huth, qemu-devel

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-ayland@ilande.co.uk>

[Patches still needing review: 21, 25, 28, 29, 30]

v3:
- Rebase onto master
- Fix addresses in comments for patch 2 as noted by Thomas
- Add R-B tags from Thomas and Phil
- Use s->rtc directly in patch 25 rather than object_resolve_path_component()
- Use s->escc directly in patch 11 rather than object_resolve_path_component()
- Add numeric suffixes for empty slot names in patch 14
- Drop patch 34 due to legal uncertainty of replace boilerplate licence text
  with SPDX equivalent as indicated by Daniel

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 (33):
  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

 hw/m68k/Kconfig     |    1 +
 hw/m68k/next-cube.c | 1021 ++++++++++++++++++++++++++++---------------
 2 files changed, 658 insertions(+), 364 deletions(-)

-- 
2.39.5



^ permalink raw reply	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2024-12-29  7:29 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-22 12:59 [PATCH v3 00/33] next-cube: more tidy-ups and improvements Mark Cave-Ayland
2024-12-22 12:59 ` [PATCH v3 01/33] next-cube: remove 0x14020 dummy value from next_mmio_read() Mark Cave-Ayland
2024-12-22 12:59 ` [PATCH v3 02/33] next-cube: remove overlap between next.dma and next.mmio memory regions Mark Cave-Ayland
2024-12-22 12:59 ` [PATCH v3 03/33] next-cube: create new next.scsi container memory region Mark Cave-Ayland
2024-12-22 12:59 ` [PATCH v3 04/33] next-cube: move next_scsi_init() to next_pc_realize() Mark Cave-Ayland
2024-12-22 12:59 ` [PATCH v3 05/33] next-cube: introduce next_pc_init() object init function Mark Cave-Ayland
2024-12-22 12:59 ` [PATCH v3 06/33] next-cube: introduce next-scsi device Mark Cave-Ayland
2024-12-22 12:59 ` [PATCH v3 07/33] next-cube: move SCSI CSRs from next-pc to the " Mark Cave-Ayland
2024-12-22 12:59 ` [PATCH v3 08/33] next-cube: move SCSI 4020/4021 logic from next-pc device to " Mark Cave-Ayland
2024-12-22 12:59 ` [PATCH v3 09/33] next-cube: move floppy disk MMIO to separate memory region in next-pc Mark Cave-Ayland
2024-12-22 12:59 ` [PATCH v3 10/33] next-cube: map ESCC registers as a subregion of the next.scr memory region Mark Cave-Ayland
2024-12-22 12:59 ` [PATCH v3 11/33] next-cube: move ESCC to be QOM child of next-pc device Mark Cave-Ayland
2024-12-22 12:59 ` [PATCH v3 12/33] next-cube: move timer MMIO to separate memory region on " Mark Cave-Ayland
2024-12-22 12:59 ` [PATCH v3 13/33] next-cube: move en ethernet " Mark Cave-Ayland
2024-12-22 12:59 ` [PATCH v3 14/33] next-cube: add empty slots for unknown accesses to next.scr memory region Mark Cave-Ayland
2024-12-22 12:59 ` [PATCH v3 15/33] next-cube: remove unused " Mark Cave-Ayland
2024-12-22 12:59 ` [PATCH v3 16/33] next-cube: rearrange NeXTState declarations to improve readability Mark Cave-Ayland
2024-12-22 12:59 ` [PATCH v3 17/33] next-cube: convert next-pc device to use Resettable interface Mark Cave-Ayland
2024-12-22 12:59 ` [PATCH v3 18/33] next-cube: rename typedef struct NextRtc to NeXTRTC Mark Cave-Ayland
2024-12-22 12:59 ` [PATCH v3 19/33] next-cube: use qemu_irq to drive int_status in next_scr2_rtc_update() Mark Cave-Ayland
2024-12-22 12:59 ` [PATCH v3 20/33] next-cube: separate rtc read and write shift logic Mark Cave-Ayland
2024-12-22 13:00 ` [PATCH v3 21/33] next-cube: always use retval to return rtc read values Mark Cave-Ayland
2024-12-22 13:00 ` [PATCH v3 22/33] next-cube: use named gpio to set RTC data bit in scr2 Mark Cave-Ayland
2024-12-22 13:00 ` [PATCH v3 23/33] next-cube: use named gpio to read " Mark Cave-Ayland
2024-12-22 13:00 ` [PATCH v3 24/33] next-cube: don't use rtc phase value of -1 Mark Cave-Ayland
2024-12-22 13:00 ` [PATCH v3 25/33] next-cube: QOMify NeXTRTC Mark Cave-Ayland
2024-12-22 13:00 ` [PATCH v3 26/33] next-cube: move reset of next-rtc fields from next-pc to next-rtc Mark Cave-Ayland
2024-12-22 13:00 ` [PATCH v3 27/33] next-cube: move rtc-data-in gpio from next-pc to next-rtc device Mark Cave-Ayland
2024-12-22 13:00 ` [PATCH v3 28/33] next-cube: use named gpio output for next-rtc data Mark Cave-Ayland
2024-12-22 13:00 ` [PATCH v3 29/33] next-cube: add rtc-cmd-reset named gpio to reset the rtc state machine Mark Cave-Ayland
2024-12-22 13:00 ` [PATCH v3 30/33] next-cube: add rtc-power-out named gpio to trigger the NEXT_PWR_I interrupt Mark Cave-Ayland
2024-12-22 13:00 ` [PATCH v3 31/33] next-cube: move next_rtc_cmd_is_write() and next_rtc_data_in_irq() functions Mark Cave-Ayland
2024-12-22 13:00 ` [PATCH v3 32/33] next-cube: rename old_scr2 and scr2_2 in next_scr2_rtc_update() Mark Cave-Ayland
2024-12-22 13:00 ` [PATCH v3 33/33] next-cube: add my copyright to the top of the file Mark Cave-Ayland
2024-12-29  7:27 ` [PATCH v3 00/33] next-cube: more tidy-ups and improvements Thomas Huth

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.