148 lines
3.3 KiB
Plaintext
Executable File
148 lines
3.3 KiB
Plaintext
Executable File
# SPDX-License-Identifier: GPL-2.0
|
|
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"
|