Pull libnvdimm and dax updates from Dan Williams:
"Save for a few late fixes, all of these commits have shipped in -next
releases since before the merge window opened, and 0day has given a
build success notification.
The ext4 touches came from Jan, and the xfs touches have Darrick's
reviewed-by. An xfstest for the MAP_SYNC feature has been through
a few round of reviews and is on track to be merged.
- Introduce MAP_SYNC and MAP_SHARED_VALIDATE, a mechanism to enable
'userspace flush' of persistent memory updates via filesystem-dax
mappings. It arranges for any filesystem metadata updates that may
be required to satisfy a write fault to also be flushed ("on disk")
before the kernel returns to userspace from the fault handler.
Effectively every write-fault that dirties metadata completes an
fsync() before returning from the fault handler. The new
MAP_SHARED_VALIDATE mapping type guarantees that the MAP_SYNC flag
is validated as supported by the filesystem's ->mmap() file
operation.
- Add support for the standard ACPI 6.2 label access methods that
replace the NVDIMM_FAMILY_INTEL (vendor specific) label methods.
This enables interoperability with environments that only implement
the standardized methods.
- Add support for the ACPI 6.2 NVDIMM media error injection methods.
- Add support for the NVDIMM_FAMILY_INTEL v1.6 DIMM commands for
latch last shutdown status, firmware update, SMART error injection,
and SMART alarm threshold control.
- Cleanup physical address information disclosures to be root-only.
- Fix revalidation of the DIMM "locked label area" status to support
dynamic unlock of the label area.
- Expand unit test infrastructure to mock the ACPI 6.2 Translate SPA
(system-physical-address) command and error injection commands.
Acknowledgements that came after the commits were pushed to -next:
- 957ac8c421 ("dax: fix PMD faults on zero-length files"):
Reviewed-by: Ross Zwisler <ross.zwisler@linux.intel.com>
- a39e596baa ("xfs: support for synchronous DAX faults") and
7b565c9f96 ("xfs: Implement xfs_filemap_pfn_mkwrite() using __xfs_filemap_fault()")
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>"
* tag 'libnvdimm-for-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: (49 commits)
acpi, nfit: add 'Enable Latch System Shutdown Status' command support
dax: fix general protection fault in dax_alloc_inode
dax: fix PMD faults on zero-length files
dax: stop requiring a live device for dax_flush()
brd: remove dax support
dax: quiet bdev_dax_supported()
fs, dax: unify IOMAP_F_DIRTY read vs write handling policy in the dax core
tools/testing/nvdimm: unit test clear-error commands
acpi, nfit: validate commands against the device type
tools/testing/nvdimm: stricter bounds checking for error injection commands
xfs: support for synchronous DAX faults
xfs: Implement xfs_filemap_pfn_mkwrite() using __xfs_filemap_fault()
ext4: Support for synchronous DAX faults
ext4: Simplify error handling in ext4_dax_huge_fault()
dax: Implement dax_finish_sync_fault()
dax, iomap: Add support for synchronous faults
mm: Define MAP_SYNC and VM_SYNC flags
dax: Allow tuning whether dax_insert_mapping_entry() dirties entry
dax: Allow dax_iomap_fault() to return pfn
dax: Fix comment describing dax_iomap_fault()
...
81 lines
2.3 KiB
Makefile
81 lines
2.3 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
ldflags-y += --wrap=ioremap_wc
|
|
ldflags-y += --wrap=memremap
|
|
ldflags-y += --wrap=devm_ioremap_nocache
|
|
ldflags-y += --wrap=devm_memremap
|
|
ldflags-y += --wrap=devm_memunmap
|
|
ldflags-y += --wrap=ioremap_nocache
|
|
ldflags-y += --wrap=iounmap
|
|
ldflags-y += --wrap=memunmap
|
|
ldflags-y += --wrap=__devm_request_region
|
|
ldflags-y += --wrap=__devm_release_region
|
|
ldflags-y += --wrap=__request_region
|
|
ldflags-y += --wrap=__release_region
|
|
ldflags-y += --wrap=devm_memremap_pages
|
|
ldflags-y += --wrap=insert_resource
|
|
ldflags-y += --wrap=remove_resource
|
|
ldflags-y += --wrap=acpi_evaluate_object
|
|
ldflags-y += --wrap=acpi_evaluate_dsm
|
|
|
|
DRIVERS := ../../../drivers
|
|
NVDIMM_SRC := $(DRIVERS)/nvdimm
|
|
ACPI_SRC := $(DRIVERS)/acpi/nfit
|
|
DAX_SRC := $(DRIVERS)/dax
|
|
ccflags-y := -I$(src)/$(NVDIMM_SRC)/
|
|
|
|
obj-$(CONFIG_LIBNVDIMM) += libnvdimm.o
|
|
obj-$(CONFIG_BLK_DEV_PMEM) += nd_pmem.o
|
|
obj-$(CONFIG_ND_BTT) += nd_btt.o
|
|
obj-$(CONFIG_ND_BLK) += nd_blk.o
|
|
obj-$(CONFIG_X86_PMEM_LEGACY) += nd_e820.o
|
|
obj-$(CONFIG_ACPI_NFIT) += nfit.o
|
|
ifeq ($(CONFIG_DAX),m)
|
|
obj-$(CONFIG_DAX) += dax.o
|
|
endif
|
|
obj-$(CONFIG_DEV_DAX) += device_dax.o
|
|
obj-$(CONFIG_DEV_DAX_PMEM) += dax_pmem.o
|
|
|
|
nfit-y := $(ACPI_SRC)/core.o
|
|
nfit-$(CONFIG_X86_MCE) += $(ACPI_SRC)/mce.o
|
|
nfit-y += config_check.o
|
|
|
|
nd_pmem-y := $(NVDIMM_SRC)/pmem.o
|
|
nd_pmem-y += pmem-dax.o
|
|
nd_pmem-y += config_check.o
|
|
|
|
nd_btt-y := $(NVDIMM_SRC)/btt.o
|
|
nd_btt-y += config_check.o
|
|
|
|
nd_blk-y := $(NVDIMM_SRC)/blk.o
|
|
nd_blk-y += config_check.o
|
|
|
|
nd_e820-y := $(NVDIMM_SRC)/e820.o
|
|
nd_e820-y += config_check.o
|
|
|
|
dax-y := $(DAX_SRC)/super.o
|
|
dax-y += config_check.o
|
|
|
|
device_dax-y := $(DAX_SRC)/device.o
|
|
device_dax-y += dax-dev.o
|
|
device_dax-y += config_check.o
|
|
|
|
dax_pmem-y := $(DAX_SRC)/pmem.o
|
|
dax_pmem-y += config_check.o
|
|
|
|
libnvdimm-y := $(NVDIMM_SRC)/core.o
|
|
libnvdimm-y += $(NVDIMM_SRC)/bus.o
|
|
libnvdimm-y += $(NVDIMM_SRC)/dimm_devs.o
|
|
libnvdimm-y += $(NVDIMM_SRC)/dimm.o
|
|
libnvdimm-y += $(NVDIMM_SRC)/region_devs.o
|
|
libnvdimm-y += $(NVDIMM_SRC)/region.o
|
|
libnvdimm-y += $(NVDIMM_SRC)/namespace_devs.o
|
|
libnvdimm-y += $(NVDIMM_SRC)/label.o
|
|
libnvdimm-y += $(NVDIMM_SRC)/badrange.o
|
|
libnvdimm-$(CONFIG_ND_CLAIM) += $(NVDIMM_SRC)/claim.o
|
|
libnvdimm-$(CONFIG_BTT) += $(NVDIMM_SRC)/btt_devs.o
|
|
libnvdimm-$(CONFIG_NVDIMM_PFN) += $(NVDIMM_SRC)/pfn_devs.o
|
|
libnvdimm-$(CONFIG_NVDIMM_DAX) += $(NVDIMM_SRC)/dax_devs.o
|
|
libnvdimm-y += config_check.o
|
|
|
|
obj-m += test/
|