Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0-only
0002 menuconfig DAX
0003         tristate "DAX: direct access to differentiated memory"
0004         select SRCU
0005         default m if NVDIMM_DAX
0006 
0007 if DAX
0008 
0009 config DEV_DAX
0010         tristate "Device DAX: direct access mapping device"
0011         depends on TRANSPARENT_HUGEPAGE
0012         help
0013           Support raw access to differentiated (persistence, bandwidth,
0014           latency...) memory via an mmap(2) capable character
0015           device.  Platform firmware or a device driver may identify a
0016           platform memory resource that is differentiated from the
0017           baseline memory pool.  Mappings of a /dev/daxX.Y device impose
0018           restrictions that make the mapping behavior deterministic.
0019 
0020 config DEV_DAX_PMEM
0021         tristate "PMEM DAX: direct access to persistent memory"
0022         depends on LIBNVDIMM && NVDIMM_DAX && DEV_DAX
0023         default DEV_DAX
0024         help
0025           Support raw access to persistent memory.  Note that this
0026           driver consumes memory ranges allocated and exported by the
0027           libnvdimm sub-system.
0028 
0029           Say M if unsure
0030 
0031 config DEV_DAX_HMEM
0032         tristate "HMEM DAX: direct access to 'specific purpose' memory"
0033         depends on EFI_SOFT_RESERVE
0034         select NUMA_KEEP_MEMINFO if (NUMA && X86)
0035         default DEV_DAX
0036         help
0037           EFI 2.8 platforms, and others, may advertise 'specific purpose'
0038           memory. For example, a high bandwidth memory pool. The
0039           indication from platform firmware is meant to reserve the
0040           memory from typical usage by default. This driver creates
0041           device-dax instances for these memory ranges, and that also
0042           enables the possibility to assign them to the DEV_DAX_KMEM
0043           driver to override the reservation and add them to kernel
0044           "System RAM" pool.
0045 
0046           Say M if unsure.
0047 
0048 config DEV_DAX_HMEM_DEVICES
0049         depends on DEV_DAX_HMEM && DAX=y
0050         def_bool y
0051 
0052 config DEV_DAX_KMEM
0053         tristate "KMEM DAX: volatile-use of persistent memory"
0054         default DEV_DAX
0055         depends on DEV_DAX
0056         depends on MEMORY_HOTPLUG # for add_memory() and friends
0057         help
0058           Support access to persistent, or other performance
0059           differentiated memory as if it were System RAM. This allows
0060           easier use of persistent memory by unmodified applications, or
0061           adds core kernel memory services to heterogeneous memory types
0062           (HMEM) marked "reserved" by platform firmware.
0063 
0064           To use this feature, a DAX device must be unbound from the
0065           device_dax driver and bound to this kmem driver on each boot.
0066 
0067           Say N if unsure.
0068 
0069 endif