menu "Memory management options"

config PAGE_OFFSET
	hex "Kernel page offset address"
	default "0x40000000"
	help
	  This option allows you to set the virtual address at which the
	  kernel will be mapped to.
endmenu

config KERNEL_4M_PAGES
	bool "Map kernel with 4MB pages"
	depends on METAG_META21_MMU
	default y
	help
	  Map the kernel with large pages to reduce TLB pressure.

choice
	prompt "User page size"
	default PAGE_SIZE_4K

config PAGE_SIZE_4K
	bool "4kB"
	help
	  This is the default page size used by all Meta cores.

config PAGE_SIZE_8K
	bool "8kB"
	depends on METAG_META21_MMU
	help
	  This enables 8kB pages as supported by Meta 2.x and later MMUs.

config PAGE_SIZE_16K
	bool "16kB"
	depends on METAG_META21_MMU
	help
	  This enables 16kB pages as supported by Meta 2.x and later MMUs.

endchoice

config NUMA
	bool "Non Uniform Memory Access (NUMA) Support"
	select ARCH_WANT_NUMA_VARIABLE_LOCALITY
	help
	  Some Meta systems have MMU-mappable on-chip memories with
	  lower latencies than main memory. This enables support for
	  these blocks by binding them to nodes and allowing
	  memory policies to be used for prioritizing and controlling
	  allocation behaviour.

config FORCE_MAX_ZONEORDER
	int "Maximum zone order"
	range 10 32
	default "10"
	help
	  The kernel memory allocator divides physically contiguous memory
	  blocks into "zones", where each zone is a power of two number of
	  pages.  This option selects the largest power of two that the kernel
	  keeps in the memory allocator.  If you need to allocate very large
	  blocks of physically contiguous memory, then you may need to
	  increase this value.

	  This config option is actually maximum order plus one. For example,
	  a value of 11 means that the largest free memory block is 2^10 pages.

	  The page size is not necessarily 4KB.  Keep this in mind
	  when choosing a value for this option.

config METAG_L2C
	bool "Level 2 Cache Support"
	depends on METAG_META21
	help
	  Press y here to enable support for the Meta Level 2 (L2) cache. This
	  will enable the cache at start up if it hasn't already been enabled
	  by the bootloader.

	  If the bootloader enables the L2 you must press y here to ensure the
	  kernel takes the appropriate actions to keep the cache coherent.

config NODES_SHIFT
	int
	default "1"
	depends on NEED_MULTIPLE_NODES

config ARCH_FLATMEM_ENABLE
	def_bool y
	depends on !NUMA

config ARCH_SPARSEMEM_ENABLE
	def_bool y
	select SPARSEMEM_STATIC

config ARCH_SPARSEMEM_DEFAULT
	def_bool y

config MAX_ACTIVE_REGIONS
	int
	default "2" if SPARSEMEM
	default "1"

config ARCH_POPULATES_NODE_MAP
	def_bool y

config ARCH_SELECT_MEMORY_MODEL
	def_bool y

config SYS_SUPPORTS_HUGETLBFS
	def_bool y
	depends on METAG_META21_MMU

choice
	prompt "HugeTLB page size"
	depends on METAG_META21_MMU && HUGETLB_PAGE
	default HUGETLB_PAGE_SIZE_1M

config HUGETLB_PAGE_SIZE_8K
	bool "8kB"
	depends on PAGE_SIZE_4K

config HUGETLB_PAGE_SIZE_16K
	bool "16kB"
	depends on PAGE_SIZE_4K || PAGE_SIZE_8K

config HUGETLB_PAGE_SIZE_32K
	bool "32kB"

config HUGETLB_PAGE_SIZE_64K
	bool "64kB"

config HUGETLB_PAGE_SIZE_128K
	bool "128kB"

config HUGETLB_PAGE_SIZE_256K
	bool "256kB"

config HUGETLB_PAGE_SIZE_512K
	bool "512kB"

config HUGETLB_PAGE_SIZE_1M
	bool "1MB"

config HUGETLB_PAGE_SIZE_2M
	bool "2MB"

config HUGETLB_PAGE_SIZE_4M
	bool "4MB"

endchoice

config METAG_COREMEM
	bool
	default y if SUSPEND

source "mm/Kconfig"
