xref: /openbmc/linux/drivers/dax/Kconfig (revision c221c0b0)
12080e88aSDan Williamsconfig DAX_DRIVER
22080e88aSDan Williams	select DAX
32080e88aSDan Williams	bool
42080e88aSDan Williams
57b6be844SDan Williamsmenuconfig DAX
6ab68f262SDan Williams	tristate "DAX: direct access to differentiated memory"
7956a4cd2SDan Williams	select SRCU
87b6be844SDan Williams	default m if NVDIMM_DAX
97b6be844SDan Williams
107b6be844SDan Williamsif DAX
117b6be844SDan Williams
127b6be844SDan Williamsconfig DEV_DAX
137b6be844SDan Williams	tristate "Device DAX: direct access mapping device"
147b6be844SDan Williams	depends on TRANSPARENT_HUGEPAGE
15ab68f262SDan Williams	help
16ab68f262SDan Williams	  Support raw access to differentiated (persistence, bandwidth,
17ab68f262SDan Williams	  latency...) memory via an mmap(2) capable character
18ab68f262SDan Williams	  device.  Platform firmware or a device driver may identify a
19ab68f262SDan Williams	  platform memory resource that is differentiated from the
20ab68f262SDan Williams	  baseline memory pool.  Mappings of a /dev/daxX.Y device impose
21ab68f262SDan Williams	  restrictions that make the mapping behavior deterministic.
22ab68f262SDan Williams
23ab68f262SDan Williamsconfig DEV_DAX_PMEM
24ab68f262SDan Williams	tristate "PMEM DAX: direct access to persistent memory"
2574d71a01SMike Galbraith	depends on LIBNVDIMM && NVDIMM_DAX && DEV_DAX
26730926c3SDan Williams	depends on m # until we can kill DEV_DAX_PMEM_COMPAT
27ab68f262SDan Williams	default DEV_DAX
28ab68f262SDan Williams	help
29ab68f262SDan Williams	  Support raw access to persistent memory.  Note that this
30ab68f262SDan Williams	  driver consumes memory ranges allocated and exported by the
31ab68f262SDan Williams	  libnvdimm sub-system.
32ab68f262SDan Williams
33730926c3SDan Williams	  Say M if unsure
34730926c3SDan Williams
35c221c0b0SDave Hansenconfig DEV_DAX_KMEM
36c221c0b0SDave Hansen	tristate "KMEM DAX: volatile-use of persistent memory"
37c221c0b0SDave Hansen	default DEV_DAX
38c221c0b0SDave Hansen	depends on DEV_DAX
39c221c0b0SDave Hansen	depends on MEMORY_HOTPLUG # for add_memory() and friends
40c221c0b0SDave Hansen	help
41c221c0b0SDave Hansen	  Support access to persistent memory as if it were RAM.  This
42c221c0b0SDave Hansen	  allows easier use of persistent memory by unmodified
43c221c0b0SDave Hansen	  applications.
44c221c0b0SDave Hansen
45c221c0b0SDave Hansen	  To use this feature, a DAX device must be unbound from the
46c221c0b0SDave Hansen	  device_dax driver (PMEM DAX) and bound to this kmem driver
47c221c0b0SDave Hansen	  on each boot.
48c221c0b0SDave Hansen
49c221c0b0SDave Hansen	  Say N if unsure.
50c221c0b0SDave Hansen
51730926c3SDan Williamsconfig DEV_DAX_PMEM_COMPAT
52730926c3SDan Williams	tristate "PMEM DAX: support the deprecated /sys/class/dax interface"
53730926c3SDan Williams	depends on DEV_DAX_PMEM
54730926c3SDan Williams	default DEV_DAX_PMEM
55730926c3SDan Williams	help
56730926c3SDan Williams	  Older versions of the libdaxctl library expect to find all
57730926c3SDan Williams	  device-dax instances under /sys/class/dax. If libdaxctl in
58730926c3SDan Williams	  your distribution is older than v58 say M, otherwise say N.
59ab68f262SDan Williams
60ab68f262SDan Williamsendif
61