All of lore.kernel.org
 help / color / mirror / Atom feed
From: Glenn Miles <milesg@linux.ibm.com>
To: qemu-devel@nongnu.org
Cc: Glenn Miles <milesg@linux.ibm.com>,
	qemu-ppc@nongnu.org, clg@redhat.com, npiggin@gmail.com,
	harshpb@linux.ibm.com, thuth@redhat.com, rathc@linux.ibm.com,
	richard.henderson@linaro.org
Subject: [PATCH v3 0/9] Add IBM PPE42 CPU support
Date: Mon,  8 Sep 2025 15:00:10 -0500	[thread overview]
Message-ID: <20250908200028.115789-1-milesg@linux.ibm.com> (raw)

v3:
  - Split v2 patch 1 into smaller patches 1 through 5 (Cedric)
  - Moved special PPE42 decrementer support into distinct patch (Cedric)
  - Introduced a specific MachineState for the ppe42 Machine (Cedric)
  - Use qdev_realize to create the machine (Cedric)
  - Use valid_cpu_types to determine validity of CPU (Cedric)
  - Changed machine ram limit from 2GB to 512KB (Cedric)
  - Utilize the TRANS macro to reduce TCG code (Chinmay)

This patchset adds support for the IBM PPE42 processor,
including a simple machine providing a platform for
testing the PPE42 instructions.

The PPE42 processor is used as an embedded processor in
the IBM Power9, Power10 and Power12 processors for various
tasks.  It is basically a stripped down version of the
IBM PowerPC 405 processor, with some added instructions
for handling 64-bit loads and stores and some 64-bit
logical operations.
    
For more information on the PPE 42 processor please visit:
    
https://wiki.raptorcs.com/w/images/a/a3/PPE_42X_Core_Users_Manual.pdf

A functional test is included.  This test downloads a
prebuilt test image from:

https://github.com/milesg-github/ppe42-tests

Building the image rquires a forked version of an old
version of GCC, which can be found here:

https://github.com/open-power/ppe42-gcc

Thanks,

Glenn


Glenn Miles (9):
  target/ppc: IBM PPE42 general regs and flags
  target/ppc: Add IBM PPE42 family of processors
  target/ppc: IBM PPE42 exception flags and regs
  target/ppc: Add IBM PPE42 exception model
  target/ppc: Support for IBM PPE42 MMU
  target/ppc: Add IBM PPE42 special instructions
  hw/ppc: Support for an IBM PPE42 CPU decrementer
  hw/ppc: Add a test machine for the IBM PPE42 CPU
  tests/functional: Add test for IBM PPE42 instructions

 MAINTAINERS                         |   7 +
 hw/ppc/Kconfig                      |   9 +
 hw/ppc/meson.build                  |   2 +
 hw/ppc/ppc_booke.c                  |   7 +-
 hw/ppc/ppe42_machine.c              | 102 +++++
 include/hw/ppc/ppc.h                |   1 +
 target/ppc/cpu-models.c             |   7 +
 target/ppc/cpu-models.h             |   4 +
 target/ppc/cpu.h                    |  76 +++-
 target/ppc/cpu_init.c               | 241 ++++++++--
 target/ppc/excp_helper.c            | 163 +++++++
 target/ppc/helper_regs.c            |  45 +-
 target/ppc/insn32.decode            |  66 ++-
 target/ppc/tcg-excp_helper.c        |  12 +
 target/ppc/translate.c              |  35 +-
 target/ppc/translate/ppe-impl.c.inc | 663 ++++++++++++++++++++++++++++
 tests/functional/meson.build        |   1 +
 tests/functional/test_ppc_ppe42.py  |  79 ++++
 18 files changed, 1453 insertions(+), 67 deletions(-)
 create mode 100644 hw/ppc/ppe42_machine.c
 create mode 100644 target/ppc/translate/ppe-impl.c.inc
 create mode 100644 tests/functional/test_ppc_ppe42.py

-- 
2.43.0



             reply	other threads:[~2025-09-08 20:02 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-08 20:00 Glenn Miles [this message]
2025-09-08 20:00 ` [PATCH v3 1/9] target/ppc: IBM PPE42 general regs and flags Glenn Miles
2025-09-08 20:00 ` [PATCH v3 2/9] target/ppc: Add IBM PPE42 family of processors Glenn Miles
2025-09-08 20:00 ` [PATCH v3 3/9] target/ppc: IBM PPE42 exception flags and regs Glenn Miles
2025-09-08 20:00 ` [PATCH v3 4/9] target/ppc: Add IBM PPE42 exception model Glenn Miles
2025-09-08 20:00 ` [PATCH v3 5/9] target/ppc: Support for IBM PPE42 MMU Glenn Miles
2025-09-08 20:00 ` [PATCH v3 6/9] target/ppc: Add IBM PPE42 special instructions Glenn Miles
2025-09-12 10:50   ` Chinmay Rath
2025-09-12 15:59     ` Miles Glenn
2025-09-08 20:00 ` [PATCH v3 7/9] hw/ppc: Support for an IBM PPE42 CPU decrementer Glenn Miles
2025-09-08 20:00 ` [PATCH v3 8/9] hw/ppc: Add a test machine for the IBM PPE42 CPU Glenn Miles
2025-09-10  7:10   ` Cédric Le Goater
2025-09-10 14:21     ` Miles Glenn
2025-09-08 20:00 ` [PATCH v3 9/9] tests/functional: Add test for IBM PPE42 instructions Glenn Miles
2025-09-08 21:17   ` Miles Glenn

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=20250908200028.115789-1-milesg@linux.ibm.com \
    --to=milesg@linux.ibm.com \
    --cc=clg@redhat.com \
    --cc=harshpb@linux.ibm.com \
    --cc=npiggin@gmail.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    --cc=rathc@linux.ibm.com \
    --cc=richard.henderson@linaro.org \
    --cc=thuth@redhat.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 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.