The following is a list of reference material:
See the latest documentation for the NVDIMM kernel sub-system here: https://git.kernel.org/cgit/linux/kernel/git/nvdimm/nvdimm.git/tree/Documentation/nvdimm/nvdimm.txt?h=libnvdimm-for-next​
ACPI v6.0: http://www.uefi.org/sites/default/files/resources/ACPI_6.0.pdf ​
ACPI Specification (Latest): http://www.uefi.org/specifications​
NVDIMM DSM Interface Specification (v1.8): http://pmem.io/documents/NVDIMM_DSM_Interface-V1.8.pdf​
NVDIMM DSM Interface Example: http://pmem.io/documents/NVDIMM_DSM_Interface_Example.pdf ​
NVDIMM Driver Writer's Guide: http://pmem.io/documents/NVDIMM_Driver_Writers_Guide.pdf​
NVDIMM Namespace Specification: http://pmem.io/documents/NVDIMM_Namespace_Spec.pdf ​
UEFI Specification (Latest): http://www.uefi.org/specifications​
LIBNVDIMM: https://git.kernel.org/cgit/linux/kernel/git/djbw/nvdimm.git ​
LIBNDCTL: https://github.com/pmem/ndctl.git ​
NDCTL: https://github.com/pmem/ndctl​
Persistent Memory Development Kit (PMDK): https://github.com/pmem/pmdk​