[Pdbg] [PATCH v2 00/24] Rework sbefifo library and driver

Amitay Isaacs amitay at ozlabs.org
Thu Nov 7 13:27:44 AEDT 2019


The current implementation of libsbefifo assumes kernel device driver based
transport for sbefifo.  However, it's possible to use other transport
mechanism (e.g. cronus) to talk to sbefifo.  This is implemented by providing
connect api for specifying custom transport.

V2 changes:
 - Refactoring libsbefifo to separate marshalling routines
   (this made it easier to spot bugs in marshalling)
 - Add connect api to libsbefifo to provide custom transport
 - Split sbefifo hwunit into sbefifo and chipop hwunits
   - chipop hwunit provides all the ops previously provided by sbefifo
   - sbefifo hwunit now defines the transport and provides a method
     for accessing libsbefifo context required for chip-ops


Amitay Isaacs (24):
  libpdbg: Only real nodes should have "system-path" property
  libpdbg: Make sbefifo hardware unit declarations static
  libpdbg: Implement release function for sbefifo driver
  libsbefifo: Fix marshalling for ring_put_from_image
  libsbefifo: Drop cmd argument from sbefifo_operation
  libsbefifo: Refactor protocol marshalling for istep chip-op
  libsbefifo: Refactor protocol marshalling for scom chipops
  libsbefifo: Refactor protocol marshalling for ring chip-ops
  libsbefifo: Refactor protocol marshalling for memory chip-ops
  libsbefifo: Refactor protocol marshalling for register chip-ops
  libsbefifo: Refactor protocol marshalling for array chip-ops
  libsbefifo: Refactor protocol marshalling for instruction chip-op
  libsbefifo: Refactor protocol marshalling for generic chip-ops
  libsbefifo: Refactor protocol marshalling for mpipl chip-ops
  libsbefifo: Refactor output parsing and ffdc extraction
  libsbefifo: Refactor sbefifo transport function
  libsbefifo: Add support for custom transport for sbefifo
  libsbefifo: Add connect api to use custom transport
  libpdbg: Drop common code from sbefifo_op_getmem/putmem
  libpdbg: Separate sbefifo chipops into a separate hwunit
  libpdbg: Drop unused function pib_to_sbefifo
  libpdbg: Add accessor to get sbefifo_context
  libpdbg: Use accessor to get sbefifo_context
  dts: Add chipop target to p9-kernel backend

 libpdbg/chip.c               |  32 ++--
 libpdbg/device.c             |   2 +
 libpdbg/hwunit.h             |  18 +-
 libpdbg/sbefifo.c            | 158 +++++++++---------
 libpdbg/target.c             |  28 ++--
 libpdbg/target.h             |   2 +-
 libsbefifo/cmd_array.c       | 119 ++++++++++----
 libsbefifo/cmd_control.c     |  50 ++++--
 libsbefifo/cmd_generic.c     | 204 +++++++++++++----------
 libsbefifo/cmd_instruction.c |  49 ++++--
 libsbefifo/cmd_memory.c      | 311 ++++++++++++++++++++++++-----------
 libsbefifo/cmd_mpipl.c       | 145 ++++++++++++----
 libsbefifo/cmd_register.c    | 116 +++++++++----
 libsbefifo/cmd_ring.c        | 163 +++++++++++++-----
 libsbefifo/cmd_scom.c        | 203 +++++++++++++++++------
 libsbefifo/connect.c         |  20 +++
 libsbefifo/libsbefifo.h      |  17 +-
 libsbefifo/operation.c       | 105 +++++++-----
 libsbefifo/sbefifo_private.h |   9 +-
 p9-kernel.dts.m4             |  28 +++-
 20 files changed, 1224 insertions(+), 555 deletions(-)

-- 
2.21.0



More information about the Pdbg mailing list