qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Hervé Poussineau" <hpoussin@reactos.org>
To: qemu-devel@nongnu.org
Cc: "Hervé Poussineau" <hpoussin@reactos.org>,
	qemu-ppc@nongnu.org, "Andreas Färber" <afaerber@suse.de>
Subject: [Qemu-devel] [PATCH 0/7] ppc/prep: add IBM RS/6000 43p machine
Date: Thu,  2 May 2013 22:08:57 +0200	[thread overview]
Message-ID: <1367525344-7755-1-git-send-email-hpoussin@reactos.org> (raw)

Hi,

This patchset adds an emulation of the IBM RS/6000 43p, also known as 7248.
I've fixed comments of Blue Swirl in this series, so I'm sending it as PATCH instead of RFC.

Andreas did some preliminary patches for OpenBIOS to support PReP machines, available at
git://repo.or.cz/openbios/afaerber.git branch prep.
43p emulation has been tested with this firmware, and also with the official firmware,
named P93H1904.IMG.

Command line may look like
qemu-system-ppc -M 43p -readconfig ibm_43p.cfg

Changes RFC v2 -> PATCH v1:
- rebased on master
- add a Nvram interface on m48t59
- kept ISA io_base in patch 3
- renamed QOM parent objects as parent_obj

Changes RFC v1 -> RFC v2:
- rebased on master
- works with OpenBIOS
- rework on m48t59 patches
- remove rs6000 debug port emulation (not strictly required)
- checkpatch.pl doesn't complain anymore

Known bugs/missing parts:
- incomplete MPC105 (PCI host bridge) emulation (memory controller)
- no video card (should be a S3)
- QEMU can't change endianness at runtime

OpenBIOS status:
- detects CPU and memory, then freezes with a "Dictionary space overflow"

Official firmware status:
- can boot from a IDE hard disk containing a PReP boot partition
- can't boot from IDE cdroms (overlapping commands not supported by QEMU IDE emulation)
- can't boot from floppies (READ commands are issued, but it seems completion is ignored)
- can't boot from network (detects the netcard, but doesn't use it)
- needs a hack to m48t59 device to work

Regards,

Hervé

Hervé Poussineau (7):
  pci: add MPC105 PCI host bridge emulation
  qom: handle registration of new types when initializing the first
    ones
  m48t59: move ISA ports/memory regions registration to QOM constructor
  m48t59: register a QOM type for each nvram type we support
  m48t59: add a Nvram interface
  prep: add IBM RS/6000 7248 (43p) machine emulation
  prep: QOM'ify System I/O

 default-configs/ppc-softmmu.mak |    1 +
 docs/ibm_43p.cfg                |   43 ++++
 hw/pci-host/Makefile.objs       |    1 +
 hw/pci-host/mpc105.c            |  488 +++++++++++++++++++++++++++++++++++++++
 hw/ppc/Makefile.objs            |    1 +
 hw/ppc/prep.c                   |  213 +++++++++++++++++
 hw/ppc/prep_systemio.c          |  298 ++++++++++++++++++++++++
 hw/timer/m48t59.c               |  304 ++++++++++++++++++------
 include/hw/pci/pci_ids.h        |    1 +
 include/hw/timer/m48t59.h       |   24 ++
 qom/object.c                    |   45 +++-
 trace-events                    |   11 +
 12 files changed, 1349 insertions(+), 81 deletions(-)
 create mode 100644 docs/ibm_43p.cfg
 create mode 100644 hw/pci-host/mpc105.c
 create mode 100644 hw/ppc/prep_systemio.c

-- 
1.7.10.4

             reply	other threads:[~2013-05-02 20:08 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-02 20:08 Hervé Poussineau [this message]
2013-05-02 20:08 ` [Qemu-devel] [PATCH 1/7] pci: add MPC105 PCI host bridge emulation Hervé Poussineau
2013-05-02 21:01   ` [Qemu-devel] [Qemu-ppc] " Alexander Graf
2013-05-03  5:57     ` Hervé Poussineau
2013-05-06 15:01       ` Alexander Graf
2013-05-06 20:57         ` Hervé Poussineau
2013-05-06 22:16           ` Alexander Graf
2013-05-06 22:41           ` Andreas Färber
2013-05-07  5:48             ` Hervé Poussineau
2013-05-09 17:47               ` Blue Swirl
2013-05-02 20:08 ` [Qemu-devel] [PATCH 2/7] qom: handle registration of new types when initializing the first ones Hervé Poussineau
2013-05-03 11:46   ` Andreas Färber
2013-05-05  8:38     ` Hervé Poussineau
2013-05-02 20:09 ` [Qemu-devel] [PATCH 3/7] m48t59: move ISA ports/memory regions registration to QOM constructor Hervé Poussineau
2013-05-02 20:09 ` [Qemu-devel] [PATCH 4/7] m48t59: register a QOM type for each nvram type we support Hervé Poussineau
2013-05-02 21:29   ` Artyom Tarasenko
2013-05-03  5:50     ` Hervé Poussineau
2013-05-03 23:16       ` Artyom Tarasenko
2013-05-04  5:24         ` Hervé Poussineau
2013-05-02 20:09 ` [Qemu-devel] [PATCH 5/7] m48t59: add a Nvram interface Hervé Poussineau
2013-05-02 20:09 ` [Qemu-devel] [PATCH 6/7] prep: add IBM RS/6000 7248 (43p) machine emulation Hervé Poussineau
2013-05-02 20:09 ` [Qemu-devel] [PATCH 7/7] prep: QOM'ify System I/O Hervé Poussineau
2013-05-03 11:36   ` Andreas Färber
2013-05-04  9:38     ` Hervé Poussineau

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=1367525344-7755-1-git-send-email-hpoussin@reactos.org \
    --to=hpoussin@reactos.org \
    --cc=afaerber@suse.de \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@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).