qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Andreas Färber" <andreas.faerber@web.de>
To: qemu-devel@nongnu.org
Cc: "Andreas Färber" <andreas.faerber@web.de>,
	"Hervé Poussineau" <hpoussin@reactos.org>
Subject: [Qemu-devel] [RFC 00/23] PReP 40P emulation
Date: Tue, 14 Jun 2011 04:37:34 +0200	[thread overview]
Message-ID: <1308019077-61957-1-git-send-email-andreas.faerber@web.de> (raw)

Hi,

Based mostly on earlier work by Hervé Poussineau, this RFC series adds
emulation of a real '40p' IBM PReP machine as an addition to the existing
'prep' machine. It does some general cleanups and qdev'ification
that will benefit further PReP machines, such as the BeBox.

This series supersedes my preparatory "ISA reconfigurability" series,
by adding the i82378 PCI-ISA bridge on which it is to be used. The qdev and
ISA device patches up to pc87312 should allow for cherry-picking.

The state of -M prep (on Darwin/ppc64 and OSol/amd64) is that my
2.4.36.1 Linux kernel hardly gets to the root prompt
("INIT: Id "n" respawning too fast: disabled for 5 minutes"),
both before and after.

Firmware for -M 40p can be downloaded here:
ftp://ftp.boulder.ibm.com/rs6000/firmware/7020-40p/P12H0456.IMG

With some additional patches on top of this series (memory-forced
I/O, a PCI BAR issue and a parallel ioport conflict) after about
one and a half minutes it gets to the graphical boot screen with
keyboard icon, after about seven and a half minutes to the floppy icon
and after a really looong time gets to a third, memory(?) icon.

TODOs:
* improve ISA ioport vs. IORange handling and naming
* fix a few -M prep System I/O ports broken by qdev'ification
* possibly make -M prep use i82378, too (broke Linux boot)
* IBM8514/A cleanup, RAMDAC support for colors
* 7020 had max. 6x 32 MB = 192 MB RAM

Regards,
Andreas

Cc: Hervé Poussineau <hpoussin@reactos.org>


Andreas Färber (21):
  prep: Refactor CPU initialization
  prep: qdev'ify PCI
  prep: Prepare emulation of an IBM RS/6000 6015 / 7020 (40p)
  40p: Add PCI host
  prep: Add i82374 DMA emulation
  prep: Add i82378 PCI-to-ISA bridge emulation
  40p: Add a PCI to ISA bridge (i82378)
  qdev: Add support for property type bool
  qdev: Add helpers for reading properties
  isa: Provide enable and disable callbacks
  isa: Allow to un-assign I/O ports
  isa: Allow to un-associate an IRQ
  parallel: Implement ISA state callbacks
  serial: Implement ISA state callbacks
  fdc: Implement ISA state callbacks
  ide: Allow to discard I/O ports
  ide: Implement ISA state callbacks
  prep: Add pc87312 Super I/O emulation
  40p: Add the Super I/O chip (pc87312)
  prep: qdev'ify System I/O (WIP)
  40p: Add an 8514/A graphics card

Hervé Poussineau (2):
  fdc: Parametrize ISA base, IRQ and DMA
  40p: Add an audio card and a keyboard

 Makefile.objs                   |    4 +
 Makefile.target                 |    1 +
 default-configs/ppc-softmmu.mak |    7 +
 hw/fdc.c                        |  118 ++++++-
 hw/hw.h                         |   15 +
 hw/i82374.c                     |  133 ++++++++
 hw/i82378.c                     |  298 +++++++++++++++++
 hw/ide/core.c                   |    8 +
 hw/ide/internal.h               |    1 +
 hw/ide/isa.c                    |   98 ++++++-
 hw/isa-bus.c                    |   71 ++++
 hw/isa.h                        |    8 +
 hw/parallel.c                   |   75 +++--
 hw/pc87312.c                    |  495 ++++++++++++++++++++++++++++
 hw/pci_ids.h                    |    4 +
 hw/ppc_prep.c                   |  316 ++++++++++--------
 hw/ppc_prep.h                   |   24 ++
 hw/prep_pci.c                   |  126 ++++++--
 hw/prep_systemio.c              |  335 +++++++++++++++++++
 hw/qdev-properties.c            |   96 ++++++-
 hw/qdev.h                       |   13 +
 hw/serial.c                     |   91 +++++-
 hw/vga-s3.c                     |  694 +++++++++++++++++++++++++++++++++++++++
 23 files changed, 2812 insertions(+), 219 deletions(-)
 create mode 100644 hw/i82374.c
 create mode 100644 hw/i82378.c
 create mode 100644 hw/pc87312.c
 create mode 100644 hw/ppc_prep.h
 create mode 100644 hw/prep_systemio.c
 create mode 100644 hw/vga-s3.c

-- 
1.7.5.3

             reply	other threads:[~2011-06-14  2:38 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-14  2:37 Andreas Färber [this message]
2011-06-14  2:37 ` [Qemu-devel] [PATCH RFC 01/23] prep: Refactor CPU initialization Andreas Färber
2011-06-14  2:37   ` [Qemu-devel] [RFC 02/23] prep: qdev'ify PCI Andreas Färber
2011-06-14  2:37     ` [Qemu-devel] [RFC 03/23] prep: Prepare emulation of an IBM RS/6000 6015 / 7020 (40p) Andreas Färber
2011-06-14  2:37       ` [Qemu-devel] [RFC 04/23] 40p: Add PCI host Andreas Färber
2011-06-14  2:37         ` [Qemu-devel] [RFC 05/23] prep: Add i82374 DMA emulation Andreas Färber
2011-06-14  2:37           ` [Qemu-devel] [RFC 06/23] prep: Add i82378 PCI-to-ISA bridge emulation Andreas Färber
2011-06-14  2:37             ` [Qemu-devel] [RFC 07/23] 40p: Add a PCI to ISA bridge (i82378) Andreas Färber
2011-06-14  2:37               ` [Qemu-devel] [PATCH v5 08/23] qdev: Add support for property type bool Andreas Färber
2011-06-14  2:37                 ` [Qemu-devel] [PATCH v5 09/23] qdev: Add helpers for reading properties Andreas Färber
2011-06-14  2:37                   ` [Qemu-devel] [RFC v5 10/23] isa: Provide enable and disable callbacks Andreas Färber
2011-06-14  2:37                     ` [Qemu-devel] [RFC v5 11/23] isa: Allow to un-assign I/O ports Andreas Färber
2011-06-14  2:37                       ` [Qemu-devel] [RFC v5 12/23] isa: Allow to un-associate an IRQ Andreas Färber
2011-06-14  2:37                         ` [Qemu-devel] [RFC v5 13/23] parallel: Implement ISA state callbacks Andreas Färber
2011-06-14  2:37                           ` [Qemu-devel] [RFC v5 14/23] serial: " Andreas Färber
2011-06-14  2:37                             ` [Qemu-devel] [PATCH v5 15/23] fdc: Parametrize ISA base, IRQ and DMA Andreas Färber
2011-06-14  2:37                               ` [Qemu-devel] [RFC v5 16/23] fdc: Implement ISA state callbacks Andreas Färber
2011-06-14  2:37                                 ` [Qemu-devel] [RFC v5 17/23] ide: Allow to discard I/O ports Andreas Färber
2011-06-14  2:37                                   ` [Qemu-devel] [RFC v5 18/23] ide: Implement ISA state callbacks Andreas Färber
2011-06-14  2:37                                     ` [Qemu-devel] [RFC v5 19/23] prep: Add pc87312 Super I/O emulation Andreas Färber
2011-06-14  2:37                                       ` [Qemu-devel] [RFC 20/23] 40p: Add the Super I/O chip (pc87312) Andreas Färber
2011-06-14  2:37                                         ` [Qemu-devel] [RFC 21/23] 40p: Add an audio card and a keyboard Andreas Färber
2011-06-14  2:37                                           ` [Qemu-devel] [RFC 22/23] prep: qdev'ify System I/O (WIP) Andreas Färber
2011-06-14  2:37                                             ` [Qemu-devel] [RFC 23/23] 40p: Add an 8514/A graphics card Andreas Färber
2011-06-15  4:33                                               ` Roy Tam
2011-06-15 18:11                                                 ` Andreas Färber
2011-06-16  0:02                                                   ` [Qemu-devel] [RFC v2 23/23] 40p: Add an IBM " Andreas Färber
2011-06-18 20:42                                                     ` Blue Swirl
2011-06-19 10:04                                                       ` Andreas Färber
2011-06-19 12:10                                                         ` Hervé Poussineau
2011-06-19 13:27                                                         ` Blue Swirl
2011-06-19 18:40                                                           ` Andreas Färber
2011-06-19 19:03                                                             ` Blue Swirl
2011-06-19 21:38                                                               ` Andreas Färber
2011-06-19 21:43                                                                 ` [Qemu-devel] [RFC v3 " Andreas Färber
2011-06-16  0:05                                                   ` [Qemu-devel] [RFC 23/23] 40p: Add an " Andreas Färber
2011-06-16  1:22                                                   ` Roy Tam

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=1308019077-61957-1-git-send-email-andreas.faerber@web.de \
    --to=andreas.faerber@web.de \
    --cc=hpoussin@reactos.org \
    --cc=qemu-devel@nongnu.org \
    /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).