X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=drivers%2Fnvdimm%2FKconfig;h=72226acb5c0fb8af7b72b88fd7b8f46329095626;hb=182554570a3f01457202206ac784b488cd190f75;hp=5680e8e7a7aa7f1294b38806c95d3d7c515e643c;hpb=8c2f7e8658df1d3b7cbfa62706941d14c715823a;p=firefly-linux-kernel-4.4.55.git diff --git a/drivers/nvdimm/Kconfig b/drivers/nvdimm/Kconfig index 5680e8e7a7aa..72226acb5c0f 100644 --- a/drivers/nvdimm/Kconfig +++ b/drivers/nvdimm/Kconfig @@ -8,11 +8,11 @@ menuconfig LIBNVDIMM NFIT, or otherwise can discover NVDIMM resources, a libnvdimm bus is registered to advertise PMEM (persistent memory) namespaces (/dev/pmemX) and BLK (sliding mmio window(s)) - namespaces (/dev/ndX). A PMEM namespace refers to a memory - resource that may span multiple DIMMs and support DAX (see - CONFIG_DAX). A BLK namespace refers to an NVDIMM control - region which exposes an mmio register set for windowed - access mode to non-volatile memory. + namespaces (/dev/ndblkX.Y). A PMEM namespace refers to a + memory resource that may span multiple DIMMs and support DAX + (see CONFIG_DAX). A BLK namespace refers to an NVDIMM control + region which exposes an mmio register set for windowed access + mode to non-volatile memory. if LIBNVDIMM @@ -20,6 +20,7 @@ config BLK_DEV_PMEM tristate "PMEM: Persistent memory block device support" default LIBNVDIMM depends on HAS_IOMEM + select ND_BTT if BTT help Memory ranges for PMEM are described by either an NFIT (NVDIMM Firmware Interface Table, see CONFIG_NFIT_ACPI), a @@ -33,7 +34,35 @@ config BLK_DEV_PMEM Say Y if you want to use an NVDIMM +config ND_BLK + tristate "BLK: Block data window (aperture) device support" + default LIBNVDIMM + select ND_BTT if BTT + help + Support NVDIMMs, or other devices, that implement a BLK-mode + access capability. BLK-mode access uses memory-mapped-i/o + apertures to access persistent media. + + Say Y if your platform firmware emits an ACPI.NFIT table + (CONFIG_ACPI_NFIT), or otherwise exposes BLK-mode + capabilities. + +config ND_BTT + tristate + config BTT - def_bool y + bool "BTT: Block Translation Table (atomic sector updates)" + default y if LIBNVDIMM + help + The Block Translation Table (BTT) provides atomic sector + update semantics for persistent memory devices, so that + applications that rely on sector writes not being torn (a + guarantee that typical disks provide) can continue to do so. + The BTT manifests itself as an alternate personality for an + NVDIMM namespace, i.e. a namespace can be in raw mode (pmemX, + ndblkX.Y, etc...), or 'sectored' mode, (pmemXs, ndblkX.Ys, + etc...). + + Select Y if unsure endif