mbox series

[00/18] Add p10 support to libpdbg

Message ID 20200924044236.130586-1-amitay@ozlabs.org
Headers show
Series Add p10 support to libpdbg | expand

Message

Amitay Isaacs Sept. 24, 2020, 4:42 a.m. UTC
This patchset adds support for POWER10 (P10) processor to libpdbg.
Starting from P10, most of the hardware accesses from BMC go via sbe.
This is implemented as a seperate sbefifo backend.  On a secure P10
system, raw devices used by kernel driver will not work and all hardware
access (except fsi) must go via SBE.

SBEFIFO library is updated to deal with slightly different conventions between
P9 and P10 when specifying core ids.  New chip-ops are added to SBE to read
scoms from ocmb.

Alistair Popple (3):
  libpdbg: Introduce p10 FAPI targets and address translation
  dts: Add p10 targets to device tree
  tests: Add fapi p10 address translation tests

Amitay Isaacs (15):
  libpdbg: Add p10
  dts: Add p10 device tree
  libpdbg: Enable p10 BMC backend
  libpdbg: Add processor type to libsbefifo implementation
  libsbefifo: Add implementation of suspend_io chipop
  libsbefifo: Add new definitions for P10 sbe
  libsbefifo: P10 dropped put_ring_from_image chipop
  libpdbg: Update sbefifo chip-ops as per changes in p10
  libsbefifo: Use proper cast
  libsbefifo: Update sram get/put api
  libsbefifo: Add new chip-ops for hw register get/put
  libpdbg: Add ocmb hwunit
  libpdbg: Add sbefifo based implementation of ocmb getscom/putscom
  libpdbg: Add ocmb_{getscom/putscom} api
  dts: Add ocmb targets to p10.dts

 Makefile.am                                   |  16 +-
 libpdbg/cfam.c                                |   2 +
 libpdbg/cronus.c                              |  18 +-
 libpdbg/dtb.c                                 |  45 +-
 libpdbg/hwunit.h                              |  22 +
 libpdbg/libpdbg.h                             |  23 +
 libpdbg/ocmb.c                                |  85 ++
 libpdbg/p10_fapi_targets.c                    | 583 +++++++++++
 libpdbg/p10_scom_addr.h                       | 133 +++
 libpdbg/sbefifo.c                             |  87 +-
 libpdbg/target.c                              |  38 +
 libpdbg/target.h                              |   3 +-
 libsbefifo/cmd_control.c                      |  53 +-
 libsbefifo/cmd_memory.c                       |  75 +-
 libsbefifo/cmd_register.c                     | 131 +++
 libsbefifo/cmd_ring.c                         |   3 +
 libsbefifo/cmd_scom.c                         |   6 +-
 libsbefifo/connect.c                          |  26 +-
 libsbefifo/libsbefifo.h                       |  61 +-
 libsbefifo/sbefifo_private.h                  |   8 +-
 p10.dts.m4                                    | 622 ++++++++++++
 src/tests/libpdbg_p10_fapi_translation_test.C | 113 +++
 src/tests/p10_cu.H                            | 120 +++
 src/tests/p10_scom_addr.C                     | 934 ++++++++++++++++++
 src/tests/p10_scom_addr.H                     | 718 ++++++++++++++
 src/tests/p10_scominfo.C                      | 856 ++++++++++++++++
 src/tests/p10_scominfo.H                      | 107 ++
 tests/test_p10_fapi_translation.sh            | 206 ++++
 28 files changed, 5020 insertions(+), 74 deletions(-)
 create mode 100644 libpdbg/ocmb.c
 create mode 100644 libpdbg/p10_fapi_targets.c
 create mode 100644 libpdbg/p10_scom_addr.h
 create mode 100644 p10.dts.m4
 create mode 100644 src/tests/libpdbg_p10_fapi_translation_test.C
 create mode 100644 src/tests/p10_cu.H
 create mode 100644 src/tests/p10_scom_addr.C
 create mode 100644 src/tests/p10_scom_addr.H
 create mode 100644 src/tests/p10_scominfo.C
 create mode 100644 src/tests/p10_scominfo.H
 create mode 100755 tests/test_p10_fapi_translation.sh