| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- # SPDX-License-Identifier: GPL-2.0-only
- menuconfig DAX
- tristate "DAX: direct access to differentiated memory"
- default m if NVDIMM_DAX
- if DAX
- config DEV_DAX
- tristate "Device DAX: direct access mapping device"
- depends on TRANSPARENT_HUGEPAGE
- help
- Support raw access to differentiated (persistence, bandwidth,
- latency...) memory via an mmap(2) capable character
- device. Platform firmware or a device driver may identify a
- platform memory resource that is differentiated from the
- baseline memory pool. Mappings of a /dev/daxX.Y device impose
- restrictions that make the mapping behavior deterministic.
- config DEV_DAX_PMEM
- tristate "PMEM DAX: direct access to persistent memory"
- depends on LIBNVDIMM && NVDIMM_DAX && DEV_DAX
- default DEV_DAX
- help
- Support raw access to persistent memory. Note that this
- driver consumes memory ranges allocated and exported by the
- libnvdimm sub-system.
- Say M if unsure
- config DEV_DAX_HMEM
- tristate "HMEM DAX: direct access to 'specific purpose' memory"
- depends on EFI_SOFT_RESERVE
- select NUMA_KEEP_MEMINFO if NUMA_MEMBLKS
- default DEV_DAX
- help
- EFI 2.8 platforms, and others, may advertise 'specific purpose'
- memory. For example, a high bandwidth memory pool. The
- indication from platform firmware is meant to reserve the
- memory from typical usage by default. This driver creates
- device-dax instances for these memory ranges, and that also
- enables the possibility to assign them to the DEV_DAX_KMEM
- driver to override the reservation and add them to kernel
- "System RAM" pool.
- Say M if unsure.
- config DEV_DAX_CXL
- tristate "CXL DAX: direct access to CXL RAM regions"
- depends on CXL_BUS && CXL_REGION && DEV_DAX
- default CXL_REGION && DEV_DAX
- help
- CXL RAM regions are either mapped by platform-firmware
- and published in the initial system-memory map as "System RAM", mapped
- by platform-firmware as "Soft Reserved", or dynamically provisioned
- after boot by the CXL driver. In the latter two cases a device-dax
- instance is created to access that unmapped-by-default address range.
- Per usual it can remain as dedicated access via a device interface, or
- converted to "System RAM" via the dax_kmem facility.
- config DEV_DAX_HMEM_DEVICES
- depends on DEV_DAX_HMEM && DAX
- def_bool y
- config DEV_DAX_KMEM
- tristate "KMEM DAX: map dax-devices as System-RAM"
- default DEV_DAX
- depends on DEV_DAX
- depends on MEMORY_HOTPLUG # for add_memory() and friends
- help
- Support access to persistent, or other performance
- differentiated memory as if it were System RAM. This allows
- easier use of persistent memory by unmodified applications, or
- adds core kernel memory services to heterogeneous memory types
- (HMEM) marked "reserved" by platform firmware.
- To use this feature, a DAX device must be unbound from the
- device_dax driver and bound to this kmem driver on each boot.
- Say N if unsure.
- endif
|