xref: /linux/mm/Kconfig (revision af705362ab6018071310c5fcd436a6b457517d5f)
1e1785e85SDave Hansenconfig SELECT_MEMORY_MODEL
2e1785e85SDave Hansen	def_bool y
3e1785e85SDave Hansen	depends on EXPERIMENTAL || ARCH_SELECT_MEMORY_MODEL
4e1785e85SDave Hansen
53a9da765SDave Hansenchoice
63a9da765SDave Hansen	prompt "Memory model"
7e1785e85SDave Hansen	depends on SELECT_MEMORY_MODEL
8e1785e85SDave Hansen	default DISCONTIGMEM_MANUAL if ARCH_DISCONTIGMEM_DEFAULT
9e1785e85SDave Hansen	default FLATMEM_MANUAL
103a9da765SDave Hansen
11e1785e85SDave Hansenconfig FLATMEM_MANUAL
123a9da765SDave Hansen	bool "Flat Memory"
133a9da765SDave Hansen	depends on !ARCH_DISCONTIGMEM_ENABLE || ARCH_FLATMEM_ENABLE
143a9da765SDave Hansen	help
153a9da765SDave Hansen	  This option allows you to change some of the ways that
163a9da765SDave Hansen	  Linux manages its memory internally.  Most users will
173a9da765SDave Hansen	  only have one option here: FLATMEM.  This is normal
183a9da765SDave Hansen	  and a correct option.
193a9da765SDave Hansen
203a9da765SDave Hansen	  If unsure, choose this option over any other.
213a9da765SDave Hansen
22e1785e85SDave Hansenconfig DISCONTIGMEM_MANUAL
233a9da765SDave Hansen	bool "Discontigious Memory"
243a9da765SDave Hansen	depends on ARCH_DISCONTIGMEM_ENABLE
253a9da765SDave Hansen	help
26785dcd44SDave Hansen	  This option provides enhanced support for discontiguous
27785dcd44SDave Hansen	  memory systems, over FLATMEM.  These systems have holes
28785dcd44SDave Hansen	  in their physical address spaces, and this option provides
29785dcd44SDave Hansen	  more efficient handling of these holes.  However, the vast
30785dcd44SDave Hansen	  majority of hardware has quite flat address spaces, and
31785dcd44SDave Hansen	  can have degraded performance from extra overhead that
32785dcd44SDave Hansen	  this option imposes.
33785dcd44SDave Hansen
34785dcd44SDave Hansen	  Many NUMA configurations will have this as the only option.
35785dcd44SDave Hansen
363a9da765SDave Hansen	  If unsure, choose "Flat Memory" over this option.
373a9da765SDave Hansen
383a9da765SDave Hansenendchoice
393a9da765SDave Hansen
40e1785e85SDave Hansenconfig DISCONTIGMEM
41e1785e85SDave Hansen	def_bool y
42e1785e85SDave Hansen	depends on (!SELECT_MEMORY_MODEL && ARCH_DISCONTIGMEM_ENABLE) || DISCONTIGMEM_MANUAL
43e1785e85SDave Hansen
44e1785e85SDave Hansenconfig FLATMEM
45e1785e85SDave Hansen	def_bool y
46e1785e85SDave Hansen	depends on !DISCONTIGMEM || FLATMEM_MANUAL
47e1785e85SDave Hansen
4893b7504eSDave Hansen#
4993b7504eSDave Hansen# Both the NUMA code and DISCONTIGMEM use arrays of pg_data_t's
5093b7504eSDave Hansen# to represent different areas of memory.  This variable allows
5193b7504eSDave Hansen# those dependencies to exist individually.
5293b7504eSDave Hansen#
5393b7504eSDave Hansenconfig NEED_MULTIPLE_NODES
5493b7504eSDave Hansen	def_bool y
5593b7504eSDave Hansen	depends on DISCONTIGMEM || NUMA
56*af705362SAndy Whitcroft
57*af705362SAndy Whitcroftconfig HAVE_MEMORY_PRESENT
58*af705362SAndy Whitcroft	def_bool y
59*af705362SAndy Whitcroft	depends on ARCH_HAVE_MEMORY_PRESENT
60