ACPI 6.1, Table 5-133, updates NVDIMM Control Region Structure
- Valid Fields, Manufacturing Location, and Manufacturing Date
are added from reserved range. No change in the structure size.
- IDs defined as SPD values are arrays of bytes. The spec
clarified that they need to be represented as arrays of bytes
Patch 1 changes 'struct acpi_nfit_control_region' and the NFIT driver to
comply ACPI 6.1.
Patch 2 adds a new sysfs file "id" to show NVDIMM ID defined in ACPI 6.1.
Patch 3 changes the nfit test driver.
- Remove 'mfg_location' and 'mfg_date'. (Dan Williams)
- Rename 'unique_id' to 'id' and make this change as a separate patch.
Toshi Kani (3):
1/3 ACPI/NFIT: Update Control Region Structure to comply ACPI 6.1
2/3 ACPI/NFIT: Add NVDIMM ID "id" under sysfs
3/3 nfit_test: Update SPD ID init handlings
drivers/acpi/nfit.c | 41 ++++++++++++++++++++-----
include/acpi/actbl1.h | 24 +++++++++------
tools/testing/nvdimm/test/nfit.c | 64 ++++++++++++++++++++++++----------------
3 files changed, 88 insertions(+), 41 deletions(-)
Recent testing uncovered two bugs around the handling of section-misaligned
1/ If the pmem section overlaps "System RAM" we need to fail the
devm_memremap_pages() request. Previously we would mis-detect a
memory map like the following:
100000000-37bffffff : System RAM
37c000000-837ffffff : Persistent Memory
2/ If the pmem section is misaligned, but otherwise does not overlap
memory from another zone, the altmap needs to be fixed up to add the
alignment padding to the 'reserved ' pfns of the altmap.
Dan Williams (2):
libnvdimm, pmem: fix 'pfn' support for section-misaligned namespaces
mm: fix mixed zone detection in devm_memremap_pages
drivers/nvdimm/pmem.c | 29 +++++++++++++++++++++++++++--
kernel/memremap.c | 9 ++++-----
2 files changed, 31 insertions(+), 7 deletions(-)