From: Michael Davidsaver <mdavidsaver@gmail.com>
To: Alexander Graf <agraf@suse.de>,
David Gibson <david@gibson.dropbear.id.au>,
qemu-ppc@nongnu.org
Cc: qemu-devel@nongnu.org, Michael Davidsaver <mdavidsaver@gmail.com>
Subject: [Qemu-devel] [PATCH 00/12] Add MVME3100 PPC SBC
Date: Sun, 19 Nov 2017 21:24:08 -0600 [thread overview]
Message-ID: <20171120032420.9134-1-mdavidsaver@gmail.com> (raw)
This series adds simulation of MVME3100 powerpc SBCs, originally from Motorola,
and now sold by Artesyn[1]. There are two variants differing in CPU
speed and memory size.
I've been working on this sporadically for the past 2 year. Recently I've
finished all the features which I have in mind. If this series is accepted
there is a continuation which adds VME bus. I've found it
useful in software compatibility testing. I wonder if there is
any interest at large?
There are two main parts of this series. 1-5 are changing code common
with the "ppce500" and "mpc8544ds" boards, with the remainder being
additions.
The changes are to how the CCSR region is handled in order to support
the CCSRBAR register which allows the whole region to be relocated.
Also added are a couple of memory and clock configuration registers
which RTEMS guests read.
#3 is actually a minor issue I found recently with the mpc8544 PCI host bridge,
which I'm uncertain how to address. The host bridge device 0:0 identifies
itself as a bridge, but doesn't properly implement the bridge config registers.
This confuses Linux, which then does a full re-enumeration (successfully).
The rest are additions of an I2C controller, an I2C eeprom, an I2C RTC,
and new board code.
My testing has been almost exclusively with an RTEMS guest[2].
Though I have recently done a little with Linux.
RTEMS guests (and Linux too for now) require a stub bootloader[3] to
put the system in the same state as the real bootloader.
RTEMS has an unfortunately strong dependence on bootloader
provided configuration (eg. it doesn't re-enumerate the PCI bus).
[1] https://www.artesyn.com/computing/products/product/mvme3100-vme-board-with-freescale-mpc8540-system-on-chip-processor
[2] https://www.rtems.org/
[3] https://github.com/mdavidsaver/qemu/wiki
Michael Davidsaver (12):
e500: add board config options
e500: consolidate mpc8540 guts with e500-ccsr
e500: note possible bug with host bridge
e500: additional CCSR registers
e500: name openpic and pci host bridge
i2c: add mpc8540 i2c controller
qtest: add e500_i2c_create()
e500: add mpc8540 i2c controller to ccsr
nvram: add AT24Cx i2c eeprom
timer: add ds1375 RTC
ppc: add mvme3100 machine
tests: add mvme3100-test
default-configs/ppc-softmmu.mak | 1 +
hw/i2c/Makefile.objs | 1 +
hw/i2c/mpc8540_i2c.c | 287 +++++++++++++++++
hw/nvram/Makefile.objs | 1 +
hw/nvram/eeprom_at24c.c | 205 ++++++++++++
hw/pci-host/ppce500.c | 13 +-
hw/ppc/Makefile.objs | 4 +-
hw/ppc/e500-ccsr.h | 17 -
hw/ppc/e500.c | 59 ++--
hw/ppc/e500.h | 4 +
hw/ppc/e500_ccsr.c | 220 +++++++++++++
hw/ppc/e500plat.c | 2 +
hw/ppc/mpc8544_guts.c | 143 ---------
hw/ppc/mpc8544ds.c | 2 +
hw/ppc/mvme3100.c | 688 ++++++++++++++++++++++++++++++++++++++++
hw/ppc/mvme3100_cpld.c | 192 +++++++++++
hw/timer/Makefile.objs | 1 +
hw/timer/ds1375-i2c.c | 293 +++++++++++++++++
tests/Makefile.include | 4 +
tests/libqos/i2c-e500.c | 66 ++++
tests/libqos/i2c.h | 3 +
tests/mvme3100-test.c | 79 +++++
22 files changed, 2083 insertions(+), 202 deletions(-)
create mode 100644 hw/i2c/mpc8540_i2c.c
create mode 100644 hw/nvram/eeprom_at24c.c
delete mode 100644 hw/ppc/e500-ccsr.h
create mode 100644 hw/ppc/e500_ccsr.c
delete mode 100644 hw/ppc/mpc8544_guts.c
create mode 100644 hw/ppc/mvme3100.c
create mode 100644 hw/ppc/mvme3100_cpld.c
create mode 100644 hw/timer/ds1375-i2c.c
create mode 100644 tests/libqos/i2c-e500.c
create mode 100644 tests/mvme3100-test.c
--
2.11.0
next reply other threads:[~2017-11-20 3:24 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-20 3:24 Michael Davidsaver [this message]
2017-11-20 3:24 ` [Qemu-devel] [PATCH 01/12] e500: add board config options Michael Davidsaver
2017-11-22 3:28 ` David Gibson
2017-11-22 17:55 ` Michael Davidsaver
2017-11-23 16:07 ` [Qemu-devel] [Qemu-ppc] " Cédric Le Goater
2017-11-24 0:21 ` [Qemu-devel] " David Gibson
2017-11-20 3:24 ` [Qemu-devel] [PATCH 03/12] e500: note possible bug with host bridge Michael Davidsaver
2017-11-22 3:46 ` David Gibson
2017-11-22 4:57 ` Michael Davidsaver
2017-11-20 3:24 ` [Qemu-devel] [PATCH 04/12] e500: additional CCSR registers Michael Davidsaver
2017-11-22 3:57 ` David Gibson
2017-11-20 3:24 ` [Qemu-devel] [PATCH 05/12] e500: name openpic and pci host bridge Michael Davidsaver
2017-11-22 3:58 ` David Gibson
2017-11-20 3:24 ` [Qemu-devel] [PATCH 06/12] i2c: add mpc8540 i2c controller Michael Davidsaver
2017-11-22 4:06 ` David Gibson
2017-11-23 15:39 ` [Qemu-devel] [Qemu-ppc] " Cédric Le Goater
2017-11-24 0:13 ` David Gibson
2017-11-20 3:24 ` [Qemu-devel] [PATCH 07/12] qtest: add e500_i2c_create() Michael Davidsaver
2017-11-20 3:24 ` [Qemu-devel] [PATCH 08/12] e500: add mpc8540 i2c controller to ccsr Michael Davidsaver
2017-11-22 4:08 ` David Gibson
2017-11-22 16:46 ` Michael Davidsaver
2017-11-20 3:24 ` [Qemu-devel] [PATCH 09/12] nvram: add AT24Cx i2c eeprom Michael Davidsaver
2017-11-22 4:10 ` David Gibson
2017-11-20 3:24 ` [Qemu-devel] [PATCH 10/12] timer: add ds1375 RTC Michael Davidsaver
2017-11-22 4:11 ` David Gibson
2017-11-20 3:24 ` [Qemu-devel] [PATCH 11/12] ppc: add mvme3100 machine Michael Davidsaver
2017-11-20 3:24 ` [Qemu-devel] [PATCH 12/12] tests: add mvme3100-test Michael Davidsaver
[not found] ` <20171120032420.9134-3-mdavidsaver@gmail.com>
2017-11-22 3:36 ` [Qemu-devel] [PATCH 02/12] e500: consolidate mpc8540 guts with e500-ccsr David Gibson
2017-12-06 3:12 ` David Gibson
2017-12-06 3:18 ` Michael Davidsaver
2017-12-06 4:23 ` David Gibson
2017-11-22 4:12 ` [Qemu-devel] [PATCH 00/12] Add MVME3100 PPC SBC David Gibson
2017-11-22 4:58 ` Michael Davidsaver
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=20171120032420.9134-1-mdavidsaver@gmail.com \
--to=mdavidsaver@gmail.com \
--cc=agraf@suse.de \
--cc=david@gibson.dropbear.id.au \
--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 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.