[Pdbg] [PATCH v4 00/13] Extend sbefifo driver

Amitay Isaacs amitay at ozlabs.org
Wed Jul 17 14:08:39 AEST 2019


This patch set adds api for thread control and custom chip-op via sbe.
Also, refactor the FFDC parsing code to store ffdc data and make it
available for query.  This way application can make use of ffdc data
if needed.

Modify the implementation of libpdbg api to make it consistent.  Use the
specified target as the target on which the action is being performed.
Rather than using the target to decide how the action is to be performed.
This applies to mem_read/mem_write and sbe_istep api.

v2 changes:
  - Avoid adding libpdbg api for thread operations
  - Implement sreset_all using sbefifo if available
  - Fix sbefifo device tree

v3 changes:
 - mem_read/mem_write api does not take pdbg_target any more
 - sbe_istep api takes pib instead of sbefifo target
 - Add #defines for all hard-coded constants
 - Do not expose sbe procedures for thread control via libpdbg api
 - Rename sbe_custom api to sbe_chipop api

v4 changes:
 - Pass the expected reply length as a hint in sbe_op()
   This ensures that the adequate sized buffer is allocated for reading reply
   from kernel sbefifo driver.


Amitay Isaacs (13):
  libpdbg: mem read/write should not require access type target
  libpdbg: Drop target argument from mem_read/mem_write
  libpdbg: sbe_istep should be called with pib target instead of sbefifo
  sbefifo: Add #defines for commands and flags
  sbefifo: Drop FFDC parsing code
  sbefifo: Add sbefifo procedure to get ffdc data
  libpdbg: Add api to get ffdc data from sbefifo
  sbefifo: Return only the response data from sbefifo_op
  sbefifo: Add hardware procedeure for thread control
  libpdbg: Use sbe control to sreset threads if sbe is available
  sbefifo: Add procedure for custom chipop
  libpdbg: Add api for custom sbe chip-op
  dts: Add second sbefifo for second processor

 libpdbg/chip.c    |  22 +++-
 libpdbg/hwunit.h  |   9 ++
 libpdbg/libpdbg.h |   6 +-
 libpdbg/sbefifo.c | 291 ++++++++++++++++++++++++++++++++--------------
 libpdbg/target.c  |  86 +++++++++++---
 libpdbg/target.h  |   2 +
 p9-kernel.dts.m4  |   7 ++
 src/mem.c         | 128 ++++++--------------
 src/pdbgproxy.c   |  23 +---
 src/thread.c      |  22 ++--
 10 files changed, 363 insertions(+), 233 deletions(-)

-- 
2.21.0



More information about the Pdbg mailing list