forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
2.6 KiB
82 lines
2.6 KiB
# SPDX-License-Identifier: GPL-2.0-only |
|
config DAX_DRIVER |
|
select DAX |
|
bool |
|
|
|
menuconfig DAX |
|
tristate "DAX: direct access to differentiated memory" |
|
select SRCU |
|
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 && X86) |
|
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_HMEM_DEVICES |
|
depends on DEV_DAX_HMEM && DAX=y |
|
def_bool y |
|
|
|
config DEV_DAX_KMEM |
|
tristate "KMEM DAX: volatile-use of persistent memory" |
|
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. |
|
|
|
config DEV_DAX_PMEM_COMPAT |
|
tristate "PMEM DAX: support the deprecated /sys/class/dax interface" |
|
depends on m && DEV_DAX_PMEM=m |
|
default DEV_DAX_PMEM |
|
help |
|
Older versions of the libdaxctl library expect to find all |
|
device-dax instances under /sys/class/dax. If libdaxctl in |
|
your distribution is older than v58 say M, otherwise say N. |
|
|
|
endif
|
|
|