[PATCH 00/10] Add support for OpenCAPI SCM devices

Alastair D'Silva alastair at au1.ibm.com
Fri Oct 25 15:46:55 AEDT 2019


From: Alastair D'Silva <alastair at d-silva.org>

This series adds support for OpenCAPI SCM devices, exposing
them as nvdimms so that we can make use of the existing
infrastructure.

The first patch (in memory_hotplug) has reviews/acks, but has
not yet made it upstream.

Alastair D'Silva (10):
  memory_hotplug: Add a bounds check to __add_pages
  nvdimm: remove prototypes for nonexistent functions
  powerpc: Add OPAL calls for LPC memory alloc/release
  powerpc: Map & release OpenCAPI LPC memory
  ocxl: Tally up the LPC memory on a link & allow it to be mapped
  ocxl: Add functions to map/unmap LPC memory
  ocxl: Save the device serial number in ocxl_fn
  nvdimm: Add driver for OpenCAPI Storage Class Memory
  powerpc: Enable OpenCAPI Storage Class Memory driver on bare metal
  ocxl: Conditionally bind SCM devices to the generic OCXL driver

 arch/powerpc/configs/powernv_defconfig     |    4 +
 arch/powerpc/include/asm/opal-api.h        |    2 +
 arch/powerpc/include/asm/opal.h            |    3 +
 arch/powerpc/include/asm/pnv-ocxl.h        |    2 +
 arch/powerpc/platforms/powernv/ocxl.c      |   41 +
 arch/powerpc/platforms/powernv/opal-call.c |    2 +
 drivers/misc/ocxl/Kconfig                  |    7 +
 drivers/misc/ocxl/config.c                 |   50 +
 drivers/misc/ocxl/core.c                   |   60 +
 drivers/misc/ocxl/link.c                   |   60 +
 drivers/misc/ocxl/ocxl_internal.h          |   36 +
 drivers/misc/ocxl/pci.c                    |    3 +
 drivers/nvdimm/Kconfig                     |   17 +
 drivers/nvdimm/Makefile                    |    3 +
 drivers/nvdimm/nd-core.h                   |    4 -
 drivers/nvdimm/ocxl-scm.c                  | 2210 ++++++++++++++++++++
 drivers/nvdimm/ocxl-scm_internal.c         |  232 ++
 drivers/nvdimm/ocxl-scm_internal.h         |  331 +++
 drivers/nvdimm/ocxl-scm_sysfs.c            |  219 ++
 include/linux/memory_hotplug.h             |    5 +
 include/misc/ocxl.h                        |   19 +
 include/uapi/linux/ocxl-scm.h              |  128 ++
 mm/memory_hotplug.c                        |   22 +
 23 files changed, 3456 insertions(+), 4 deletions(-)
 create mode 100644 drivers/nvdimm/ocxl-scm.c
 create mode 100644 drivers/nvdimm/ocxl-scm_internal.c
 create mode 100644 drivers/nvdimm/ocxl-scm_internal.h
 create mode 100644 drivers/nvdimm/ocxl-scm_sysfs.c
 create mode 100644 include/uapi/linux/ocxl-scm.h

-- 
2.21.0



More information about the Linuxppc-dev mailing list