Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

# SPDX-License-Identifier: GPL-2.0-only
config CONFIG_DAX_DRIVER
	select CONFIG_DAX
	bool

menuconfig CONFIG_DAX
	tristate "DAX: direct access to differentiated memory"
	select CONFIG_SRCU
	default m if CONFIG_NVDIMM_DAX

if CONFIG_DAX

config CONFIG_DEV_DAX
	tristate "Device DAX: direct access mapping device"
	depends on CONFIG_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 CONFIG_DEV_DAX_PMEM
	tristate "PMEM DAX: direct access to persistent memory"
	depends on CONFIG_LIBNVDIMM && CONFIG_NVDIMM_DAX && CONFIG_DEV_DAX
	default CONFIG_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 CONFIG_M if unsure

config CONFIG_DEV_DAX_KMEM
	tristate "KMEM DAX: volatile-use of persistent memory"
	default CONFIG_DEV_DAX
	depends on CONFIG_DEV_DAX
	depends on CONFIG_MEMORY_HOTPLUG # for add_memory() and friends
	help
	  Support access to persistent memory as if it were RAM.  This
	  allows easier use of persistent memory by unmodified
	  applications.

	  To use this feature, a CONFIG_DAX device must be unbound from the
	  device_dax driver (PMEM CONFIG_DAX) and bound to this kmem driver
	  on each boot.

	  Say N if unsure.

config CONFIG_DEV_DAX_PMEM_COMPAT
	tristate "PMEM DAX: support the deprecated /sys/class/dax interface"
	depends on m && CONFIG_DEV_DAX_PMEM=m
	default CONFIG_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 CONFIG_M, otherwise say N.

endif