qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Laurent Vivier <laurent@vivier.eu>
To: qemu-devel@nongnu.org
Cc: "Gerd Hoffmann" <kraxel@redhat.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Mark Cave-Ayland" <mark.cave-ayland@ilande.co.uk>,
	"Laurent Vivier" <laurent@vivier.eu>,
	"Max Reitz" <mreitz@redhat.com>, "Kevin Wolf" <kwolf@redhat.com>,
	"Andreas Färber" <afaerber@suse.de>,
	"Hervé Poussineau" <hpoussin@reactos.org>,
	"Aurelien Jarno" <aurelien@aurel32.net>,
	"Jason Wang" <jasowang@redhat.com>, "Fam Zheng" <famz@redhat.com>,
	qemu-block@nongnu.org,
	"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	"Yongbok Kim" <yongbok.kim@mips.com>
Subject: [Qemu-devel] [C v2 00/10] hw/m68k: add Apple Machintosh Quadra 800 machine
Date: Thu, 28 Jun 2018 01:23:24 +0200	[thread overview]
Message-ID: <20180627232334.14142-1-laurent@vivier.eu> (raw)

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

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
  ADB: VIA probes ADB bus when it is idle
  escc: introduce a selector for the register bit
  hw/m68k: add 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

 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                      | 463 +++++++++++++++++++++++
 hw/block/Makefile.objs              |   1 +
 hw/block/swim.c                     | 284 ++++++++++++++
 hw/char/escc.c                      |  30 +-
 hw/display/Makefile.objs            |   1 +
 hw/display/macfb-template.h         | 158 ++++++++
 hw/display/macfb.c                  | 308 +++++++++++++++
 hw/input/adb-kbd.c                  |   4 +
 hw/input/adb-mouse.c                |   4 +
 hw/input/adb.c                      | 115 ++++++
 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                      | 385 +++++++++++++++++++
 hw/mips/mips_jazz.c                 |   2 +-
 hw/misc/Makefile.objs               |   1 +
 hw/misc/mac_via.c                   | 731 ++++++++++++++++++++++++++++++++++++
 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             | 210 +++++++++++
 hw/scsi/esp.c                       | 297 +++++++++++++--
 include/hw/audio/asc.h              |  48 +++
 include/hw/block/swim.h             |  53 +++
 include/hw/char/escc.h              |   1 +
 include/hw/display/macfb.h          |  63 ++++
 include/hw/input/adb.h              |  10 +
 include/hw/intc/q800_irq.h          |  39 ++
 include/hw/misc/mac_via.h           | 107 ++++++
 include/hw/nubus/mac-nubus-bridge.h |  24 ++
 include/hw/nubus/nubus.h            |  69 ++++
 include/hw/scsi/esp.h               |  11 +-
 qemu-options.hx                     |   2 +-
 tests/qom-test.c                    |   5 +
 tests/test-hmp.c                    |   3 +-
 vl.c                                |   3 +-
 44 files changed, 3857 insertions(+), 76 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.14.4

             reply	other threads:[~2018-06-27 23:24 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-27 23:23 Laurent Vivier [this message]
2018-06-27 23:23 ` [Qemu-devel] [C v2 01/10] hw/m68k: add via support Laurent Vivier
2018-06-27 23:23 ` [Qemu-devel] [C v2 02/10] ADB: VIA probes ADB bus when it is idle Laurent Vivier
2018-06-27 23:23 ` [Qemu-devel] [C v2 03/10] escc: introduce a selector for the register bit Laurent Vivier
2018-06-27 23:23 ` [Qemu-devel] [C v2 04/10] hw/m68k: add video card Laurent Vivier
2018-06-27 23:23 ` [Qemu-devel] [C v2 05/10] hw/m68k: Apple Sound Chip (ASC) emulation Laurent Vivier
2018-06-27 23:23 ` [Qemu-devel] [C v2 06/10] ESP: add pseudo-DMA as used by Macintosh Laurent Vivier
2018-06-27 23:23 ` [Qemu-devel] [C v2 07/10] hw/m68k: add Nubus support Laurent Vivier
2018-06-27 23:23 ` [Qemu-devel] [C v2 08/10] hw/m68k: add a dummy SWIM floppy controller Laurent Vivier
2018-06-28  8:44   ` Kevin Wolf
2018-06-28  9:04     ` Laurent Vivier
2018-06-27 23:23 ` [Qemu-devel] [C v2 09/10] dp8393x: manage big endian bus Laurent Vivier
2018-07-08  6:35   ` Thomas Huth
2018-06-27 23:23 ` [Qemu-devel] [C v2 10/10] hw/m68k: define Macintosh Quadra 800 Laurent Vivier
2018-07-08  6:51   ` Thomas Huth

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180627232334.14142-1-laurent@vivier.eu \
    --to=laurent@vivier.eu \
    --cc=afaerber@suse.de \
    --cc=aurelien@aurel32.net \
    --cc=dgilbert@redhat.com \
    --cc=famz@redhat.com \
    --cc=hpoussin@reactos.org \
    --cc=jasowang@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=mark.cave-ayland@ilande.co.uk \
    --cc=mreitz@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=yongbok.kim@mips.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).