From: James Sushanth Anandraj <james.sushanth.anandraj@intel.com>
The Intel Optane Persistent Memory OS provisioning specification
describes how to support basic provisioning for Intel Optane
persistent memory 100 and 200 series for use in different
operating modes using OS software.
This patch set introduces a new utility ipmregion that implements
basic provisioning as described in the provisioning specification
document at https://cdrdv2.intel.com/v1/dl/getContent/634430 .
The ipmregion utility provides enumeration and region reconfiguration
commands for "nvdimm" subsystem devices (Non-volatile Memory). This
is implemented as a separate tool rather than as a feature of ndctl as
the steps for provisioning are specific to Intel Optane devices and
are as follows.
1..Generate a new region configuration request using this utility.
2. Reset the platform.
3. Use this utility to list the status of operation.
Since v1:
* Change name of tool to ipmregion.
* Change reconfigure-region modes to fault-isolation-pmem and performance-pmem.
James Sushanth Anandraj (4):
Documentation/ipmregion: Add documentation for ipmregion tool and
commands
ipmregion/list: Add ipmregion-list command to enumerate 'nvdimm'
devices
ipmregion/reconfigure: Add ipmregion-reconfigure-region command
ipmregion/reconfigure: Add support for different pmem region modes
Documentation/ipmregion/Makefile.am | 59 +
.../ipmregion/asciidoctor-extensions.rb | 30 +
Documentation/ipmregion/ipmregion-list.txt | 56 +
.../ipmregion-reconfigure-region.txt | 51 +
Documentation/ipmregion/ipmregion.txt | 40 +
.../ipmregion/theory-of-operation.txt | 29 +
Makefile.am | 4 +-
configure.ac | 2 +
ipmregion/Makefile.am | 18 +
ipmregion/builtin.h | 9 +
ipmregion/ipmregion.c | 88 +
ipmregion/list.c | 114 ++
ipmregion/list.h | 11 +
ipmregion/pcat.c | 59 +
ipmregion/pcat.h | 13 +
ipmregion/pcd.h | 381 +++++
ipmregion/reconfigure.c | 1458 +++++++++++++++++
ipmregion/reconfigure.h | 12 +
util/main.h | 1 +
19 files changed, 2433 insertions(+), 2 deletions(-)
create mode 100644 Documentation/ipmregion/Makefile.am
create mode 100644 Documentation/ipmregion/asciidoctor-extensions.rb
create mode 100644 Documentation/ipmregion/ipmregion-list.txt
create mode 100644 Documentation/ipmregion/ipmregion-reconfigure-region.txt
create mode 100644 Documentation/ipmregion/ipmregion.txt
create mode 100644 Documentation/ipmregion/theory-of-operation.txt
create mode 100644 ipmregion/Makefile.am
create mode 100644 ipmregion/builtin.h
create mode 100644 ipmregion/ipmregion.c
create mode 100644 ipmregion/list.c
create mode 100644 ipmregion/list.h
create mode 100644 ipmregion/pcat.c
create mode 100644 ipmregion/pcat.h
create mode 100644 ipmregion/pcd.h
create mode 100644 ipmregion/reconfigure.c
create mode 100644 ipmregion/reconfigure.h
From: James Sushanth Anandraj <james.sushanth.anandraj@intel.com> The Intel Optane Persistent Memory OS provisioning specification describes how to support basic provisioning for Intel Optane persistent memory 100 and 200 series for use in different operating modes using OS software. This patch set introduces a new utility ipmregion that implements basic provisioning as described in the provisioning specification document at https://cdrdv2.intel.com/v1/dl/getContent/634430 . The ipmregion utility provides enumeration and region reconfiguration commands for "nvdimm" subsystem devices (Non-volatile Memory). This is implemented as a separate tool rather than as a feature of ndctl as the steps for provisioning are specific to Intel Optane devices and are as follows. 1..Generate a new region configuration request using this utility. 2. Reset the platform. 3. Use this utility to list the status of operation. Since v1: * Change name of tool to ipmregion. * Change reconfigure-region modes to fault-isolation-pmem and performance-pmem. James Sushanth Anandraj (4): Documentation/ipmregion: Add documentation for ipmregion tool and commands ipmregion/list: Add ipmregion-list command to enumerate 'nvdimm' devices ipmregion/reconfigure: Add ipmregion-reconfigure-region command ipmregion/reconfigure: Add support for different pmem region modes Documentation/ipmregion/Makefile.am | 59 + .../ipmregion/asciidoctor-extensions.rb | 30 + Documentation/ipmregion/ipmregion-list.txt | 56 + .../ipmregion-reconfigure-region.txt | 51 + Documentation/ipmregion/ipmregion.txt | 40 + .../ipmregion/theory-of-operation.txt | 29 + Makefile.am | 4 +- configure.ac | 2 + ipmregion/Makefile.am | 18 + ipmregion/builtin.h | 9 + ipmregion/ipmregion.c | 88 + ipmregion/list.c | 114 ++ ipmregion/list.h | 11 + ipmregion/pcat.c | 59 + ipmregion/pcat.h | 13 + ipmregion/pcd.h | 381 +++++ ipmregion/reconfigure.c | 1458 +++++++++++++++++ ipmregion/reconfigure.h | 12 + util/main.h | 1 + 19 files changed, 2433 insertions(+), 2 deletions(-) create mode 100644 Documentation/ipmregion/Makefile.am create mode 100644 Documentation/ipmregion/asciidoctor-extensions.rb create mode 100644 Documentation/ipmregion/ipmregion-list.txt create mode 100644 Documentation/ipmregion/ipmregion-reconfigure-region.txt create mode 100644 Documentation/ipmregion/ipmregion.txt create mode 100644 Documentation/ipmregion/theory-of-operation.txt create mode 100644 ipmregion/Makefile.am create mode 100644 ipmregion/builtin.h create mode 100644 ipmregion/ipmregion.c create mode 100644 ipmregion/list.c create mode 100644 ipmregion/list.h create mode 100644 ipmregion/pcat.c create mode 100644 ipmregion/pcat.h create mode 100644 ipmregion/pcd.h create mode 100644 ipmregion/reconfigure.c create mode 100644 ipmregion/reconfigure.h