[Skiboot] [PATCH 0/7] Support the updated NPU in POWER9P; npu3

Reza Arbab arbab at linux.ibm.com
Thu Jun 13 07:08:50 AEST 2019


This started as a clone of npu2, audited line by line with fresh eyes.
Aside from the underlying hardware change, my aim was general cleanup,
and to simplify things I've found confusing when trying to grok the
current code. I hope reviewers see that as genuine improvement and
not just me rewriting things for the sake of it. After all, we have a
clean slate here to work out changes without the burden of worrying
about introducing accidental regressions to users in the field.

I've done basic verification in Simics, but deeper function can't be
exercised until GPU bringup with a device driver and real hardware. That
said, I'd still like to get this initial code drop in early, so that
OpenCAPI and NVLink development can coordinate on a common upstream
base.

Reza Arbab (7):
  hw/phys-map: Add pvr argument to phys_map_init()
  hw/phys-map: Add Axone memory map
  npu2: Prepare purge_l2_l3_caches() for reuse
  npu2: Refactor NPU OPAL calls
  npu2: Add checks to npu2-only codepaths
  hw: Introduce npu3
  Add Swift platform

 core/hmi.c                    |    4 +
 core/init.c                   |    3 +-
 hdata/spira.c                 |    6 +-
 hdata/test/hdata_to_dt.c      |    2 +-
 hw/Makefile.inc               |    3 +-
 hw/cache-p9.c                 |  165 ++++
 hw/npu-opal.c                 |  187 +++++
 hw/npu2-common.c              |    4 +
 hw/npu2.c                     |  282 +------
 hw/npu3-hw-procedures.c       |  801 ++++++++++++++++++
 hw/npu3-nvlink.c              | 1841 +++++++++++++++++++++++++++++++++++++++++
 hw/npu3.c                     |  554 +++++++++++++
 hw/phys-map.c                 |  141 +++-
 hw/test/phys-map-test.c       |   17 +-
 include/cache-p9.h            |   22 +
 include/npu2-regs.h           |   11 -
 include/npu2.h                |    8 +
 include/npu3-regs.h           |  247 ++++++
 include/npu3.h                |  180 ++++
 include/pci.h                 |    1 +
 include/phys-map.h            |    4 +-
 include/platform.h            |    4 +-
 include/skiboot.h             |    1 +
 include/xscom-p9-regs.h       |   19 +
 platforms/astbmc/Makefile.inc |    2 +-
 platforms/astbmc/swift.c      |  141 ++++
 26 files changed, 4359 insertions(+), 291 deletions(-)
 create mode 100644 hw/cache-p9.c
 create mode 100644 hw/npu-opal.c
 create mode 100644 hw/npu3-hw-procedures.c
 create mode 100644 hw/npu3-nvlink.c
 create mode 100644 hw/npu3.c
 create mode 100644 include/cache-p9.h
 create mode 100644 include/npu3-regs.h
 create mode 100644 include/npu3.h
 create mode 100644 platforms/astbmc/swift.c

-- 
1.8.3.1



More information about the Skiboot mailing list