70 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # SPDX-License-Identifier: GPL-2.0-only
 | |
| 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.
 | |
| 
 | |
| endif
 |