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