Kconfig 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. menuconfig DAX
  3. tristate "DAX: direct access to differentiated memory"
  4. select SRCU
  5. default m if NVDIMM_DAX
  6. if DAX
  7. config DEV_DAX
  8. tristate "Device DAX: direct access mapping device"
  9. depends on TRANSPARENT_HUGEPAGE
  10. help
  11. Support raw access to differentiated (persistence, bandwidth,
  12. latency...) memory via an mmap(2) capable character
  13. device. Platform firmware or a device driver may identify a
  14. platform memory resource that is differentiated from the
  15. baseline memory pool. Mappings of a /dev/daxX.Y device impose
  16. restrictions that make the mapping behavior deterministic.
  17. config DEV_DAX_PMEM
  18. tristate "PMEM DAX: direct access to persistent memory"
  19. depends on LIBNVDIMM && NVDIMM_DAX && DEV_DAX
  20. default DEV_DAX
  21. help
  22. Support raw access to persistent memory. Note that this
  23. driver consumes memory ranges allocated and exported by the
  24. libnvdimm sub-system.
  25. Say M if unsure
  26. config DEV_DAX_HMEM
  27. tristate "HMEM DAX: direct access to 'specific purpose' memory"
  28. depends on EFI_SOFT_RESERVE
  29. select NUMA_KEEP_MEMINFO if (NUMA && X86)
  30. default DEV_DAX
  31. help
  32. EFI 2.8 platforms, and others, may advertise 'specific purpose'
  33. memory. For example, a high bandwidth memory pool. The
  34. indication from platform firmware is meant to reserve the
  35. memory from typical usage by default. This driver creates
  36. device-dax instances for these memory ranges, and that also
  37. enables the possibility to assign them to the DEV_DAX_KMEM
  38. driver to override the reservation and add them to kernel
  39. "System RAM" pool.
  40. Say M if unsure.
  41. config DEV_DAX_HMEM_DEVICES
  42. depends on DEV_DAX_HMEM && DAX=y
  43. def_bool y
  44. config DEV_DAX_KMEM
  45. tristate "KMEM DAX: volatile-use of persistent memory"
  46. default DEV_DAX
  47. depends on DEV_DAX
  48. depends on MEMORY_HOTPLUG # for add_memory() and friends
  49. help
  50. Support access to persistent, or other performance
  51. differentiated memory as if it were System RAM. This allows
  52. easier use of persistent memory by unmodified applications, or
  53. adds core kernel memory services to heterogeneous memory types
  54. (HMEM) marked "reserved" by platform firmware.
  55. To use this feature, a DAX device must be unbound from the
  56. device_dax driver and bound to this kmem driver on each boot.
  57. Say N if unsure.
  58. endif