| .. | .. |
|---|
| 1 | +# SPDX-License-Identifier: GPL-2.0-only |
|---|
| 1 | 2 | config DAX_DRIVER |
|---|
| 2 | 3 | select DAX |
|---|
| 3 | 4 | bool |
|---|
| .. | .. |
|---|
| 29 | 30 | driver consumes memory ranges allocated and exported by the |
|---|
| 30 | 31 | libnvdimm sub-system. |
|---|
| 31 | 32 | |
|---|
| 32 | | - Say Y if unsure |
|---|
| 33 | + Say M if unsure |
|---|
| 34 | + |
|---|
| 35 | +config DEV_DAX_HMEM |
|---|
| 36 | + tristate "HMEM DAX: direct access to 'specific purpose' memory" |
|---|
| 37 | + depends on EFI_SOFT_RESERVE |
|---|
| 38 | + select NUMA_KEEP_MEMINFO if (NUMA && X86) |
|---|
| 39 | + default DEV_DAX |
|---|
| 40 | + help |
|---|
| 41 | + EFI 2.8 platforms, and others, may advertise 'specific purpose' |
|---|
| 42 | + memory. For example, a high bandwidth memory pool. The |
|---|
| 43 | + indication from platform firmware is meant to reserve the |
|---|
| 44 | + memory from typical usage by default. This driver creates |
|---|
| 45 | + device-dax instances for these memory ranges, and that also |
|---|
| 46 | + enables the possibility to assign them to the DEV_DAX_KMEM |
|---|
| 47 | + driver to override the reservation and add them to kernel |
|---|
| 48 | + "System RAM" pool. |
|---|
| 49 | + |
|---|
| 50 | + Say M if unsure. |
|---|
| 51 | + |
|---|
| 52 | +config DEV_DAX_HMEM_DEVICES |
|---|
| 53 | + depends on DEV_DAX_HMEM && DAX=y |
|---|
| 54 | + def_bool y |
|---|
| 55 | + |
|---|
| 56 | +config DEV_DAX_KMEM |
|---|
| 57 | + tristate "KMEM DAX: volatile-use of persistent memory" |
|---|
| 58 | + default DEV_DAX |
|---|
| 59 | + depends on DEV_DAX |
|---|
| 60 | + depends on MEMORY_HOTPLUG # for add_memory() and friends |
|---|
| 61 | + help |
|---|
| 62 | + Support access to persistent, or other performance |
|---|
| 63 | + differentiated memory as if it were System RAM. This allows |
|---|
| 64 | + easier use of persistent memory by unmodified applications, or |
|---|
| 65 | + adds core kernel memory services to heterogeneous memory types |
|---|
| 66 | + (HMEM) marked "reserved" by platform firmware. |
|---|
| 67 | + |
|---|
| 68 | + To use this feature, a DAX device must be unbound from the |
|---|
| 69 | + device_dax driver and bound to this kmem driver on each boot. |
|---|
| 70 | + |
|---|
| 71 | + Say N if unsure. |
|---|
| 72 | + |
|---|
| 73 | +config DEV_DAX_PMEM_COMPAT |
|---|
| 74 | + tristate "PMEM DAX: support the deprecated /sys/class/dax interface" |
|---|
| 75 | + depends on m && DEV_DAX_PMEM=m |
|---|
| 76 | + default DEV_DAX_PMEM |
|---|
| 77 | + help |
|---|
| 78 | + Older versions of the libdaxctl library expect to find all |
|---|
| 79 | + device-dax instances under /sys/class/dax. If libdaxctl in |
|---|
| 80 | + your distribution is older than v58 say M, otherwise say N. |
|---|
| 33 | 81 | |
|---|
| 34 | 82 | endif |
|---|