All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v4 00/11] hw/m68k: add Apple Machintosh Quadra 800 machine
@ 2018-10-18 18:28 Mark Cave-Ayland
  2018-10-18 18:28 ` [Qemu-devel] [PATCH v4 01/11] hw/m68k: add via support Mark Cave-Ayland
                   ` (11 more replies)
  0 siblings, 12 replies; 28+ messages in thread
From: Mark Cave-Ayland @ 2018-10-18 18:28 UTC (permalink / raw)
  To: qemu-devel, kwolf, famz, qemu-block, jasowang, dgilbert, mreitz,
	hpoussin, kraxel, pbonzini, yongbok.kim, afaerber, aurelien,
	laurent

(MCA: I've reposting this on behalf of Laurent as I've been working on the
feedback from v3 over the past months and therefore am better placed to
update the changelog. If all goes well, it would be good to get this merged
in time for 3.1 soft freeze)

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 -drive file=m68k.qcow2,format=qcow2 \
    -net nic,model=dp83932,addr=09:00:07:12:34:57 \
    -append "console=ttyS0 vga=off" \
    -kernel vmlinux-4.15.0-2-m68k \
    -initrd initrd.gz \
    -drive file=debian-9.0-m68k-NETINST-1.iso \
    -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/mirror/cdimage/ports/9.0/m68k/iso-cd/debian-9.0-m68k-NETINST-1.iso

and extract the kernel and initrd.gz:

guestfish --add debian-9.0-m68k-NETINST-1.iso --ro \
          --mount /dev/sda:/ <<_EOF_
copy-out /install/cdrom/initrd.gz .
copy-out /install/kernels/vmlinux-4.15.0-2-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.15.0-2-m68k .
copy-out /boot/initrd.img-4.15.0-2-m68k .
_EOF_

and boot with:

   ...
   -append "root=/dev/sda2 rw console=ttyS0 console=tty \
   -kernel vmlinux-4.15.0-2-m68k \
   -initrd initrd.img-4.15.0-2-m68k

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 (10):
  hw/m68k: add via support
  hw/m68k: implement ADB bus support for via
  escc: introduce a selector for the register bit
  hw/m68k: add macfb video card
  hw/m68k: Apple Sound Chip (ASC) emulation
  ESP: add pseudo-DMA as used by Macintosh
  hw/m68k: add Nubus support
  hw/m68k: add a dummy SWIM floppy controller
  dp8393x: manage big endian bus
  hw/m68k: define Macintosh Quadra 800

Mark Cave-Ayland (1):
  hw/m68k: add Nubus support for macfb video card

 MAINTAINERS                         |  19 +
 arch_init.c                         |   4 +
 default-configs/m68k-softmmu.mak    |  14 +
 hw/Makefile.objs                    |   1 +
 hw/audio/Makefile.objs              |   1 +
 hw/audio/asc.c                      | 446 +++++++++++++++++++
 hw/block/Makefile.objs              |   1 +
 hw/block/swim.c                     | 415 ++++++++++++++++++
 hw/char/escc.c                      |  30 +-
 hw/display/Makefile.objs            |   1 +
 hw/display/macfb-template.h         | 158 +++++++
 hw/display/macfb.c                  | 308 +++++++++++++
 hw/input/adb.c                      |   2 +
 hw/intc/Makefile.objs               |   1 +
 hw/intc/q800_irq.c                  |  73 ++++
 hw/m68k/Makefile.objs               |   6 +-
 hw/m68k/bootinfo.h                  | 100 +++++
 hw/m68k/q800.c                      | 367 ++++++++++++++++
 hw/misc/Makefile.objs               |   1 +
 hw/misc/mac_via.c                   | 834 ++++++++++++++++++++++++++++++++++++
 hw/net/dp8393x.c                    |  88 ++--
 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             | 209 +++++++++
 hw/scsi/esp.c                       | 292 +++++++++++--
 include/hw/audio/asc.h              |  48 +++
 include/hw/block/swim.h             |  76 ++++
 include/hw/char/escc.h              |   1 +
 include/hw/display/macfb.h          |  63 +++
 include/hw/intc/q800_irq.h          |  39 ++
 include/hw/misc/mac_via.h           | 113 +++++
 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 +-
 38 files changed, 3940 insertions(+), 70 deletions(-)
 create mode 100644 hw/audio/asc.c
 create mode 100644 hw/block/swim.c
 create mode 100644 hw/display/macfb-template.h
 create mode 100644 hw/display/macfb.c
 create mode 100644 hw/intc/q800_irq.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/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/audio/asc.h
 create mode 100644 include/hw/block/swim.h
 create mode 100644 include/hw/display/macfb.h
 create mode 100644 include/hw/intc/q800_irq.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.11.0

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

end of thread, other threads:[~2018-10-25 20:40 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-18 18:28 [Qemu-devel] [PATCH v4 00/11] hw/m68k: add Apple Machintosh Quadra 800 machine Mark Cave-Ayland
2018-10-18 18:28 ` [Qemu-devel] [PATCH v4 01/11] hw/m68k: add via support Mark Cave-Ayland
2018-10-23  6:22   ` Thomas Huth
2018-10-25 20:19     ` Mark Cave-Ayland
2018-10-18 18:28 ` [Qemu-devel] [PATCH v4 02/11] hw/m68k: implement ADB bus support for via Mark Cave-Ayland
2018-10-23  6:49   ` Thomas Huth
2018-10-25 20:20     ` Mark Cave-Ayland
2018-10-18 18:28 ` [Qemu-devel] [PATCH v4 03/11] escc: introduce a selector for the register bit Mark Cave-Ayland
2018-10-18 18:28 ` [Qemu-devel] [PATCH v4 04/11] hw/m68k: add macfb video card Mark Cave-Ayland
2018-10-23  7:13   ` Thomas Huth
2018-10-25 20:27     ` Mark Cave-Ayland
2018-10-18 18:28 ` [Qemu-devel] [PATCH v4 05/11] hw/m68k: Apple Sound Chip (ASC) emulation Mark Cave-Ayland
2018-10-23  7:18   ` Thomas Huth
2018-10-25 20:29     ` Mark Cave-Ayland
2018-10-18 18:28 ` [Qemu-devel] [PATCH v4 06/11] ESP: add pseudo-DMA as used by Macintosh Mark Cave-Ayland
2018-10-18 18:28 ` [Qemu-devel] [PATCH v4 07/11] hw/m68k: add Nubus support Mark Cave-Ayland
2018-10-23  7:36   ` Thomas Huth
2018-10-25 20:30     ` Mark Cave-Ayland
2018-10-18 18:28 ` [Qemu-devel] [PATCH v4 08/11] hw/m68k: add Nubus support for macfb video card Mark Cave-Ayland
2018-10-18 18:28 ` [Qemu-devel] [PATCH v4 09/11] hw/m68k: add a dummy SWIM floppy controller Mark Cave-Ayland
2018-10-18 18:28 ` [Qemu-devel] [PATCH v4 10/11] dp8393x: manage big endian bus Mark Cave-Ayland
2018-10-23  0:02   ` Philippe Mathieu-Daudé
2018-10-18 18:28 ` [Qemu-devel] [PATCH v4 11/11] hw/m68k: define Macintosh Quadra 800 Mark Cave-Ayland
2018-10-23 11:20   ` Thomas Huth
2018-10-25 20:36     ` Mark Cave-Ayland
2018-10-23 13:16   ` Philippe Mathieu-Daudé
2018-10-25 20:39     ` Mark Cave-Ayland
2018-10-18 18:49 ` [Qemu-devel] [PATCH v4 00/11] hw/m68k: add Apple Machintosh Quadra 800 machine Laurent Vivier

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.