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 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"
