MAINTAINERS | 14 + arch_init.c | 4 + default-configs/m68k-softmmu.mak | 1 + hw/Kconfig | 1 + hw/Makefile.objs | 1 + hw/block/Kconfig | 3 + hw/block/Makefile.objs | 1 + hw/block/swim.c | 415 ++++++++++++++ hw/char/escc.c | 30 +- hw/display/Kconfig | 4 + hw/display/Makefile.objs | 1 + hw/display/macfb.c | 475 +++++++++++++++ hw/m68k/Kconfig | 12 + hw/m68k/Makefile.objs | 1 + hw/m68k/bootinfo.h | 114 ++++ hw/m68k/q800.c | 377 ++++++++++++ hw/misc/Kconfig | 4 + hw/misc/Makefile.objs | 1 + hw/misc/mac_via.c | 857 ++++++++++++++++++++++++++++ hw/net/dp8393x.c | 88 ++- hw/nubus/Kconfig | 2 + hw/nubus/Makefile.objs | 4 + hw/nubus/mac-nubus-bridge.c | 45 ++ hw/nubus/nubus-bridge.c | 34 ++ hw/nubus/nubus-bus.c | 111 ++++ hw/nubus/nubus-device.c | 215 +++++++ hw/scsi/esp.c | 296 +++++++++- include/hw/block/swim.h | 76 +++ include/hw/char/escc.h | 1 + include/hw/display/macfb.h | 64 +++ include/hw/misc/mac_via.h | 114 ++++ include/hw/nubus/mac-nubus-bridge.h | 24 + include/hw/nubus/nubus.h | 69 +++ include/hw/scsi/esp.h | 7 + qemu-options.hx | 2 +- vl.c | 3 +- 36 files changed, 3403 insertions(+), 68 deletions(-) create mode 100644 hw/block/swim.c create mode 100644 hw/display/macfb.c create mode 100644 hw/m68k/bootinfo.h create mode 100644 hw/m68k/q800.c create mode 100644 hw/misc/mac_via.c create mode 100644 hw/nubus/Kconfig create mode 100644 hw/nubus/Makefile.objs create mode 100644 hw/nubus/mac-nubus-bridge.c create mode 100644 hw/nubus/nubus-bridge.c create mode 100644 hw/nubus/nubus-bus.c create mode 100644 hw/nubus/nubus-device.c create mode 100644 include/hw/block/swim.h create mode 100644 include/hw/display/macfb.h create mode 100644 include/hw/misc/mac_via.h create mode 100644 include/hw/nubus/mac-nubus-bridge.h create mode 100644 include/hw/nubus/nubus.h
I'm rebasing some of these patches for seven years now, too many years... if you want to test the machine, I'm sorry, it doesn't boot a MacROM, but you can boot a linux kernel from the command line. You can install your own disk using debian-installer, with: ... -M q800 \ -serial none -serial mon:stdio \ -m 1000M \ -net nic,model=dp83932,addr=09:00:07:12:34:57 \ -append "console=ttyS0 vga=off" \ -kernel vmlinux-4.16.0-1-m68k \ -initrd initrd.gz \ -drive file=debian-10.0-m68k-NETINST-1.iso,media=cdrom \ -drive file=m68k.qcow2,format=qcow2 \ -nographic If you use a graphic adapter instead of "-nographic", you can use "-g" to set the size of the display (I use "-g 1600x800x24"). You can get the ISO from: https://cdimage.debian.org/cdimage/ports/10.0/m68k/iso-cd/debian-10.0-m68k-NETINST-1.iso and extract the kernel and initrd.gz: guestfish --add debian-10.0-m68k-NETINST-1.iso --ro \ --mount /dev/sda:/ <<_EOF_ copy-out /install/cdrom/initrd.gz . copy-out /install/kernels/vmlinux-4.16.0-1-m68k . _EOF_ The mirror to use is: http://ftp.ports.debian.org/debian-ports/ when it fails, continue without boot loader. In the same way, you can extract the kernel and the initramfs from the qcow2 image to use it with "-kernel" and "-initrd": guestfish --add m68k.qcow2 --mount /dev/sda2:/ <<_EOF_ copy-out /boot/vmlinux-4.16.0-1-m68k . copy-out /boot/initrd.img-4.16.0-1-m68k . _EOF_ and boot with: ... -append "root=/dev/sda2 rw console=ttyS0 console=tty \ -kernel vmlinux-4.16.0-1-m68k \ -initrd initrd.img-4.16.0-1-m68k NOTE: DHCP doesn't work but you can assign a static IP address. We need some patches for dp8393x that are not ready to be merged. See http://patchwork.ozlabs.org/patch/927020/ http://patchwork.ozlabs.org/patch/927030/ http://patchwork.ozlabs.org/patch/927026/ v8: rebase (new blk_new(), add "qemu-common.h") update bootinfo information and license add some braces Rename Q800IRQState to GLUEState: it's more like a Logic Unit than an IRQ controller, and Apple calls it "GLUE" (Mark: I prefer to keep it like this for the moment, in the future this part need to be reworked, we have to review the IRQ levels and to wire NUBUS IRQ. The implementation is really trivial for the moment and we will move it to QOM in the future) v7: rebase and port to Kconfig move IRQ controller back to q800.c (we don't need an object for this) update log message for ESP changes and add some g_assert() re-order patches: put esp, escc and dp8393x first v6: Rebase onto git master (this now includes the m68k EXCP_ILLEGAL fix required for this patchset to boot) Add Hervé's R-B tags Drop ASC (Apple Sound Chip) device since the Linux driver is broken and it is not required for a successful boot Remove extra esp_raise_irq() from ESP pseudo-DMA patch (Hervé) Remove "return" from unimplemented write functions and instead add a "read only" comment (Hervé) Rename MAX_FD to SWIM_MAX_FD in SWIM floppy controller patch to prevent potential conflicts with other files (Hervé) v5: Rebase onto git master Add Philippe's R-B to patch 10 Include the command line to boot a Linux kernel under the q800 machine in the commit message for patch 11 (Philippe) Fix up comments in hw/misc/mac_via.c (Thomas) Add asserts to VIA ADB support to prevent potential buffer overflows (Thomas) Move macfb surface/resolution checks to realise and remove hw_error (Thomas) Move macfb draw_line functions inline and remove macfb-template.h (Mark) Use guest address rather than source pointer in draw_line functions - this brings macfb in line with the VGA device and can prevent a potential buffer overflow Use g_strdup_printf() for memory region names in NuBus devices instead of hardcoded length char arrays (Thomas) Move NuBus QOM types from patch 7 to patch 8 (spotted by Thomas) Move CONFIG_COLDFIRE sections together in hw/m68k/Makefile.objs (Thomas) Remove obsolete comment from q800.c in patch 11 (Thomas) v4: Drop RFC from subject prefix as this is getting close to final Rebased onto master (fixing ESP, rom_ptr() conflicts) Reworked q800.c based upon Thomas' comments about cpu_init() and qemu_check_nic_model() Address Thomas' comments on using error_report() instead of hw_error() Change the NuBus memory regions from DEVICE_NATIVE_ENDIAN to DEVICE_BIG_ENDIAN Split macfb Nubus support into separate commit Change VMSTATE_BUFFER_UNSAFE() to VMSTATE_UINT8_ARRAY() in macfb.c as suggested by David Remove dummy Apple Sound Chip migration state as pointed out by David Keep VIA ADB state and buffers in the mac_via device rather than adding to existing ADBState (this matches the pattern used in the PPC CUDA/PMU VIAs) Remove blacklisting for q800 machine from "make check" as requested by Thomas with the following fixes: - Fix incorrect MemoryRegion owner in ASC device - Add qtest_enabled() check in q800_init() to allow testing when no kernel is specified - Move some Mac VIA initialisation from init to realize Remove legacy drive properties from SWIM floppy controller and instead expose separate floppy bus and drive devices as requested by Kevin v3: fix subject prefix "C" -> "RFC" v2: remove the dp8393x fixes, because one of the patch breaks something Update "dp8393x: manage big endian bus" with idea from Thomas Mark has reworked most of the patches: - use mos6522 - some code move, renamings and cleanup Laurent Vivier (9): escc: introduce a selector for the register bit esp: add pseudo-DMA as used by Macintosh dp8393x: manage big endian bus hw/m68k: add via support hw/m68k: implement ADB bus support for via hw/m68k: add macfb video card hw/m68k: add Nubus support hw/m68k: add a dummy SWIM floppy controller hw/m68k: define Macintosh Quadra 800 Mark Cave-Ayland (1): hw/m68k: add Nubus support for macfb video card MAINTAINERS | 14 + arch_init.c | 4 + default-configs/m68k-softmmu.mak | 1 + hw/Kconfig | 1 + hw/Makefile.objs | 1 + hw/block/Kconfig | 3 + hw/block/Makefile.objs | 1 + hw/block/swim.c | 415 ++++++++++++++ hw/char/escc.c | 30 +- hw/display/Kconfig | 4 + hw/display/Makefile.objs | 1 + hw/display/macfb.c | 475 +++++++++++++++ hw/m68k/Kconfig | 12 + hw/m68k/Makefile.objs | 1 + hw/m68k/bootinfo.h | 114 ++++ hw/m68k/q800.c | 377 ++++++++++++ hw/misc/Kconfig | 4 + hw/misc/Makefile.objs | 1 + hw/misc/mac_via.c | 857 ++++++++++++++++++++++++++++ hw/net/dp8393x.c | 88 ++- hw/nubus/Kconfig | 2 + hw/nubus/Makefile.objs | 4 + hw/nubus/mac-nubus-bridge.c | 45 ++ hw/nubus/nubus-bridge.c | 34 ++ hw/nubus/nubus-bus.c | 111 ++++ hw/nubus/nubus-device.c | 215 +++++++ hw/scsi/esp.c | 296 +++++++++- include/hw/block/swim.h | 76 +++ include/hw/char/escc.h | 1 + include/hw/display/macfb.h | 64 +++ include/hw/misc/mac_via.h | 114 ++++ include/hw/nubus/mac-nubus-bridge.h | 24 + include/hw/nubus/nubus.h | 69 +++ include/hw/scsi/esp.h | 7 + qemu-options.hx | 2 +- vl.c | 3 +- 36 files changed, 3403 insertions(+), 68 deletions(-) create mode 100644 hw/block/swim.c create mode 100644 hw/display/macfb.c create mode 100644 hw/m68k/bootinfo.h create mode 100644 hw/m68k/q800.c create mode 100644 hw/misc/mac_via.c create mode 100644 hw/nubus/Kconfig create mode 100644 hw/nubus/Makefile.objs create mode 100644 hw/nubus/mac-nubus-bridge.c create mode 100644 hw/nubus/nubus-bridge.c create mode 100644 hw/nubus/nubus-bus.c create mode 100644 hw/nubus/nubus-device.c create mode 100644 include/hw/block/swim.h create mode 100644 include/hw/display/macfb.h create mode 100644 include/hw/misc/mac_via.h create mode 100644 include/hw/nubus/mac-nubus-bridge.h create mode 100644 include/hw/nubus/nubus.h -- 2.21.0
Patchew URL: https://patchew.org/QEMU/20190619221933.1981-1-laurent@vivier.eu/ Hi, This series seems to have some coding style problems. See output below for more information: Subject: [Qemu-devel] [PATCH v8 00/10] hw/m68k: add Apple Machintosh Quadra 800 machine Type: series Message-id: 20190619221933.1981-1-laurent@vivier.eu === TEST SCRIPT BEGIN === #!/bin/bash git rev-parse base > /dev/null || exit 0 git config --local diff.renamelimit 0 git config --local diff.renames True git config --local diff.algorithm histogram ./scripts/checkpatch.pl --mailback base.. === TEST SCRIPT END === From https://github.com/patchew-project/qemu * [new tag] patchew/20190619221933.1981-1-laurent@vivier.eu -> patchew/20190619221933.1981-1-laurent@vivier.eu Switched to a new branch 'test' d87fb4249f hw/m68k: define Macintosh Quadra 800 65f79545a0 hw/m68k: add a dummy SWIM floppy controller 7c656d0722 hw/m68k: add Nubus support for macfb video card be7b2607e8 hw/m68k: add Nubus support 55b5d6c451 hw/m68k: add macfb video card 8194119b9c hw/m68k: implement ADB bus support for via 9f35eabcdf hw/m68k: add via support 996fa6f5f1 dp8393x: manage big endian bus 1c2a722f31 esp: add pseudo-DMA as used by Macintosh 0bbfb84e62 escc: introduce a selector for the register bit === OUTPUT BEGIN === 1/10 Checking commit 0bbfb84e625c (escc: introduce a selector for the register bit) 2/10 Checking commit 1c2a722f314f (esp: add pseudo-DMA as used by Macintosh) 3/10 Checking commit 996fa6f5f117 (dp8393x: manage big endian bus) 4/10 Checking commit 9f35eabcdf9a (hw/m68k: add via support) WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? #39: new file mode 100644 WARNING: Block comments use a leading /* on a separate line #92: FILE: hw/misc/mac_via.c:49: +#define VIA1A_vSccWrReq 0x80 /* SCC write. (input) WARNING: Block comments use a leading /* on a separate line #99: FILE: hw/misc/mac_via.c:56: +#define VIA1A_vRev8 0x40 /* Revision 8 board ??? WARNING: Block comments use a leading /* on a separate line #109: FILE: hw/misc/mac_via.c:66: +#define VIA1A_vHeadSel 0x20 /* Head select for IWM. WARNING: Block comments use a leading /* on a separate line #114: FILE: hw/misc/mac_via.c:71: +#define VIA1A_vOverlay 0x10 /* [Macintosh Family] On SE/30,II,IIx,IIcx WARNING: Block comments use a leading /* on a separate line #128: FILE: hw/misc/mac_via.c:85: +#define VIA1A_vSync 0x08 /* [CHRP] Sync Modem: modem clock select: WARNING: Block comments use a leading /* on a separate line #136: FILE: hw/misc/mac_via.c:93: +/* Macintosh Family Hardware sez: bits 0-2 of VIA1A are volume control WARNING: Block comments use a leading /* on a separate line #151: FILE: hw/misc/mac_via.c:108: +/* Info on VIA1B is from Macintosh Family Hardware & MkLinux. WARNING: Block comments use a trailing */ on a separate line #152: FILE: hw/misc/mac_via.c:109: + * CHRP offers no info. */ WARNING: Block comments use a leading /* on a separate line #153: FILE: hw/misc/mac_via.c:110: +#define VIA1B_vSound 0x80 /* Sound enable (for compatibility with WARNING: Block comments use a trailing */ on a separate line #156: FILE: hw/misc/mac_via.c:113: + * 0=error, 1=OK. */ WARNING: Block comments use a leading /* on a separate line #157: FILE: hw/misc/mac_via.c:114: +#define VIA1B_vMystery 0x40 /* On IIci, parity enable. 0=enabled,1=disabled WARNING: Block comments use a trailing */ on a separate line #160: FILE: hw/misc/mac_via.c:117: + * as a slot $E interrupt. */ WARNING: Block comments use a leading /* on a separate line #187: FILE: hw/misc/mac_via.c:144: +/* RAM size bits decoded as follows: WARNING: Block comments use a leading /* on a separate line #199: FILE: hw/misc/mac_via.c:156: +#define VIA2B_vVBL 0x80 /* VBL output to VIA1 (60.15Hz) driven by WARNING: Block comments use a trailing */ on a separate line #202: FILE: hw/misc/mac_via.c:159: + * [MkLinux] RBV_PARODD: 1=odd,0=even. */ WARNING: Block comments use a leading /* on a separate line #203: FILE: hw/misc/mac_via.c:160: +#define VIA2B_vSndJck 0x40 /* External sound jack status. WARNING: Block comments use a trailing */ on a separate line #204: FILE: hw/misc/mac_via.c:161: + * 0=plug is inserted. On SE/30, always 0 */ WARNING: Block comments use a leading /* on a separate line #207: FILE: hw/misc/mac_via.c:164: +#define VIA2B_vMode32 0x08 /* 24/32bit switch - doubles as cache flush WARNING: Block comments use a leading /* on a separate line #215: FILE: hw/misc/mac_via.c:172: +#define VIA2B_vPower 0x04 /* Power off, 0=shut off power. WARNING: Block comments use a leading /* on a separate line #218: FILE: hw/misc/mac_via.c:175: +#define VIA2B_vBusLk 0x02 /* Lock NuBus transactions, 0=locked. WARNING: Block comments use a leading /* on a separate line #221: FILE: hw/misc/mac_via.c:178: +#define VIA2B_vCDis 0x01 /* Cache control. On IIci, 1=disable cache card WARNING: Block comments use a leading /* on a separate line #235: FILE: hw/misc/mac_via.c:192: +/* Apple sez: http://developer.apple.com/technotes/ov/ov_04.html WARNING: Block comments use a leading /* on a separate line #264: FILE: hw/misc/mac_via.c:221: + /* CHRP sez never ever to *write* this. WARNING: Block comments use a leading /* on a separate line #280: FILE: hw/misc/mac_via.c:237: +/* Apple Macintosh Family Hardware Refenece ERROR: space prohibited after that '&&' (ctx:WxW) #362: FILE: hw/misc/mac_via.c:319: + if (!(v1s->last_b & VIA1B_vRTCClk) && (s->b & VIA1B_vRTCClk)) { ^ total: 1 errors, 25 warnings, 789 lines checked Patch 4/10 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 5/10 Checking commit 8194119b9c1c (hw/m68k: implement ADB bus support for via) 6/10 Checking commit 55b5d6c451cd (hw/m68k: add macfb video card) WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? #53: new file mode 100644 total: 0 errors, 1 warnings, 502 lines checked Patch 6/10 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 7/10 Checking commit be7b2607e8a2 (hw/m68k: add Nubus support) WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? #38: new file mode 100644 total: 0 errors, 1 warnings, 518 lines checked Patch 7/10 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 8/10 Checking commit 7c656d0722bd (hw/m68k: add Nubus support for macfb video card) 9/10 Checking commit 65f79545a0f9 (hw/m68k: add a dummy SWIM floppy controller) WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? #37: new file mode 100644 WARNING: Block comments use a leading /* on a separate line #233: FILE: hw/block/swim.c:192: + /* rerror/werror aren't supported by fdc and therefore not even registered WARNING: Block comments use a trailing */ on a separate line #235: FILE: hw/block/swim.c:194: + * blkconf_apply_backend_options(). */ WARNING: Block comments use a leading /* on a separate line #245: FILE: hw/block/swim.c:204: + /* 'enospc' is the default for -drive, 'report' is what blk_new() gives us WARNING: Block comments use a trailing */ on a separate line #246: FILE: hw/block/swim.c:205: + * for empty drives. */ total: 0 errors, 5 warnings, 504 lines checked Patch 9/10 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 10/10 Checking commit d87fb4249f5e (hw/m68k: define Macintosh Quadra 800) WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? #95: new file mode 100644 WARNING: Block comments use a leading /* on a separate line #289: FILE: hw/m68k/q800.c:70: +/* the video base, whereas it a Nubus address, WARNING: Block comments use a leading /* on a separate line #409: FILE: hw/m68k/q800.c:190: + /* MacSonic driver needs an Apple MAC address total: 0 errors, 3 warnings, 533 lines checked Patch 10/10 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. === OUTPUT END === Test command exited with code: 1 The full log is available at http://patchew.org/logs/20190619221933.1981-1-laurent@vivier.eu/testing.checkpatch/?type=message. --- Email generated automatically by Patchew [https://patchew.org/]. Please send your feedback to patchew-devel@redhat.com
On 19/06/2019 23:19, Laurent Vivier wrote: > I'm rebasing some of these patches for seven years now, > too many years... > > if you want to test the machine, I'm sorry, it doesn't boot > a MacROM, but you can boot a linux kernel from the command line. > > You can install your own disk using debian-installer, with: > > ... > -M q800 \ > -serial none -serial mon:stdio \ > -m 1000M \ > -net nic,model=dp83932,addr=09:00:07:12:34:57 \ > -append "console=ttyS0 vga=off" \ > -kernel vmlinux-4.16.0-1-m68k \ > -initrd initrd.gz \ > -drive file=debian-10.0-m68k-NETINST-1.iso,media=cdrom \ > -drive file=m68k.qcow2,format=qcow2 \ > -nographic > > If you use a graphic adapter instead of "-nographic", you can use "-g" to set the > size of the display (I use "-g 1600x800x24"). > > You can get the ISO from: > > https://cdimage.debian.org/cdimage/ports/10.0/m68k/iso-cd/debian-10.0-m68k-NETINST-1.iso > > and extract the kernel and initrd.gz: > > guestfish --add debian-10.0-m68k-NETINST-1.iso --ro \ > --mount /dev/sda:/ <<_EOF_ > copy-out /install/cdrom/initrd.gz . > copy-out /install/kernels/vmlinux-4.16.0-1-m68k . > _EOF_ > > The mirror to use is: http://ftp.ports.debian.org/debian-ports/ > when it fails, continue without boot loader. > > In the same way, you can extract the kernel and the initramfs from the qcow2 > image to use it with "-kernel" and "-initrd": > > guestfish --add m68k.qcow2 --mount /dev/sda2:/ <<_EOF_ > copy-out /boot/vmlinux-4.16.0-1-m68k . > copy-out /boot/initrd.img-4.16.0-1-m68k . > _EOF_ > > and boot with: > > ... > -append "root=/dev/sda2 rw console=ttyS0 console=tty \ > -kernel vmlinux-4.16.0-1-m68k \ > -initrd initrd.img-4.16.0-1-m68k > > NOTE: DHCP doesn't work but you can assign a static IP address. > We need some patches for dp8393x that are not ready to be merged. > See http://patchwork.ozlabs.org/patch/927020/ > http://patchwork.ozlabs.org/patch/927030/ > http://patchwork.ozlabs.org/patch/927026/ > > v8: rebase (new blk_new(), add "qemu-common.h") > update bootinfo information and license > add some braces > Rename Q800IRQState to GLUEState: > it's more like a Logic Unit than an IRQ controller, > and Apple calls it "GLUE" (Mark: I prefer to keep it > like this for the moment, in the future this part > need to be reworked, we have to review the IRQ levels > and to wire NUBUS IRQ. The implementation is really trivial > for the moment and we will move it to QOM in the future) Okay fine with me - as you say once the wiring part has been worked out the switch to QOM is reasonably trivial. > v7: rebase and port to Kconfig > move IRQ controller back to q800.c (we don't need an object for this) > update log message for ESP changes and add some g_assert() > re-order patches: put esp, escc and dp8393x first > > v6: Rebase onto git master (this now includes the m68k EXCP_ILLEGAL fix required > for this patchset to boot) > Add Hervé's R-B tags > Drop ASC (Apple Sound Chip) device since the Linux driver is broken and > it is not required for a successful boot > Remove extra esp_raise_irq() from ESP pseudo-DMA patch (Hervé) > Remove "return" from unimplemented write functions and instead add a > "read only" comment (Hervé) > Rename MAX_FD to SWIM_MAX_FD in SWIM floppy controller patch to prevent > potential conflicts with other files (Hervé) > > v5: Rebase onto git master > Add Philippe's R-B to patch 10 > Include the command line to boot a Linux kernel under the q800 machine in the > commit message for patch 11 (Philippe) > Fix up comments in hw/misc/mac_via.c (Thomas) > Add asserts to VIA ADB support to prevent potential buffer overflows (Thomas) > Move macfb surface/resolution checks to realise and remove hw_error (Thomas) > Move macfb draw_line functions inline and remove macfb-template.h (Mark) > Use guest address rather than source pointer in draw_line functions - this brings > macfb in line with the VGA device and can prevent a potential buffer overflow > Use g_strdup_printf() for memory region names in NuBus devices instead of > hardcoded length char arrays (Thomas) > Move NuBus QOM types from patch 7 to patch 8 (spotted by Thomas) > Move CONFIG_COLDFIRE sections together in hw/m68k/Makefile.objs (Thomas) > Remove obsolete comment from q800.c in patch 11 (Thomas) > > v4: Drop RFC from subject prefix as this is getting close to final > Rebased onto master (fixing ESP, rom_ptr() conflicts) > Reworked q800.c based upon Thomas' comments about cpu_init() and > qemu_check_nic_model() > Address Thomas' comments on using error_report() instead of hw_error() > Change the NuBus memory regions from DEVICE_NATIVE_ENDIAN to > DEVICE_BIG_ENDIAN > Split macfb Nubus support into separate commit > Change VMSTATE_BUFFER_UNSAFE() to VMSTATE_UINT8_ARRAY() in macfb.c as > suggested by David > Remove dummy Apple Sound Chip migration state as pointed out by David > Keep VIA ADB state and buffers in the mac_via device rather than adding > to existing ADBState (this matches the pattern used in the PPC CUDA/PMU > VIAs) > Remove blacklisting for q800 machine from "make check" as requested by > Thomas with the following fixes: > - Fix incorrect MemoryRegion owner in ASC device > - Add qtest_enabled() check in q800_init() to allow testing when no > kernel is specified > - Move some Mac VIA initialisation from init to realize > Remove legacy drive properties from SWIM floppy controller and instead > expose separate floppy bus and drive devices as requested by Kevin > > v3: fix subject prefix "C" -> "RFC" > > v2: remove the dp8393x fixes, because one of the patch breaks something > Update "dp8393x: manage big endian bus" with idea from Thomas > Mark has reworked most of the patches: > - use mos6522 > - some code move, renamings and cleanup > > Laurent Vivier (9): > escc: introduce a selector for the register bit > esp: add pseudo-DMA as used by Macintosh > dp8393x: manage big endian bus > hw/m68k: add via support > hw/m68k: implement ADB bus support for via > hw/m68k: add macfb video card > hw/m68k: add Nubus support > hw/m68k: add a dummy SWIM floppy controller > hw/m68k: define Macintosh Quadra 800 > > Mark Cave-Ayland (1): > hw/m68k: add Nubus support for macfb video card > > MAINTAINERS | 14 + > arch_init.c | 4 + > default-configs/m68k-softmmu.mak | 1 + > hw/Kconfig | 1 + > hw/Makefile.objs | 1 + > hw/block/Kconfig | 3 + > hw/block/Makefile.objs | 1 + > hw/block/swim.c | 415 ++++++++++++++ > hw/char/escc.c | 30 +- > hw/display/Kconfig | 4 + > hw/display/Makefile.objs | 1 + > hw/display/macfb.c | 475 +++++++++++++++ > hw/m68k/Kconfig | 12 + > hw/m68k/Makefile.objs | 1 + > hw/m68k/bootinfo.h | 114 ++++ > hw/m68k/q800.c | 377 ++++++++++++ > hw/misc/Kconfig | 4 + > hw/misc/Makefile.objs | 1 + > hw/misc/mac_via.c | 857 ++++++++++++++++++++++++++++ > hw/net/dp8393x.c | 88 ++- > hw/nubus/Kconfig | 2 + > hw/nubus/Makefile.objs | 4 + > hw/nubus/mac-nubus-bridge.c | 45 ++ > hw/nubus/nubus-bridge.c | 34 ++ > hw/nubus/nubus-bus.c | 111 ++++ > hw/nubus/nubus-device.c | 215 +++++++ > hw/scsi/esp.c | 296 +++++++++- > include/hw/block/swim.h | 76 +++ > include/hw/char/escc.h | 1 + > include/hw/display/macfb.h | 64 +++ > include/hw/misc/mac_via.h | 114 ++++ > include/hw/nubus/mac-nubus-bridge.h | 24 + > include/hw/nubus/nubus.h | 69 +++ > include/hw/scsi/esp.h | 7 + > qemu-options.hx | 2 +- > vl.c | 3 +- > 36 files changed, 3403 insertions(+), 68 deletions(-) > create mode 100644 hw/block/swim.c > create mode 100644 hw/display/macfb.c > create mode 100644 hw/m68k/bootinfo.h > create mode 100644 hw/m68k/q800.c > create mode 100644 hw/misc/mac_via.c > create mode 100644 hw/nubus/Kconfig > create mode 100644 hw/nubus/Makefile.objs > create mode 100644 hw/nubus/mac-nubus-bridge.c > create mode 100644 hw/nubus/nubus-bridge.c > create mode 100644 hw/nubus/nubus-bus.c > create mode 100644 hw/nubus/nubus-device.c > create mode 100644 include/hw/block/swim.h > create mode 100644 include/hw/display/macfb.h > create mode 100644 include/hw/misc/mac_via.h > create mode 100644 include/hw/nubus/mac-nubus-bridge.h > create mode 100644 include/hw/nubus/nubus.h ATB, Mark.
© 2016 - 2024 Red Hat, Inc.