Merge tag 'v3.9-rc1_cns3xxx_fixes' of git://git.infradead.org/users/cbou/linux-cns3xx...
[linux-2.6/libata-dev.git] / arch / metag / mm / Kconfig
blob975f2f4e3ecf55f17521a3605c883bfd434fe554
1 menu "Memory management options"
3 config PAGE_OFFSET
4         hex "Kernel page offset address"
5         default "0x40000000"
6         help
7           This option allows you to set the virtual address at which the
8           kernel will be mapped to.
9 endmenu
11 config KERNEL_4M_PAGES
12         bool "Map kernel with 4MB pages"
13         depends on METAG_META21_MMU
14         default y
15         help
16           Map the kernel with large pages to reduce TLB pressure.
18 choice
19         prompt "User page size"
20         default PAGE_SIZE_4K
22 config PAGE_SIZE_4K
23         bool "4kB"
24         help
25           This is the default page size used by all Meta cores.
27 config PAGE_SIZE_8K
28         bool "8kB"
29         depends on METAG_META21_MMU
30         help
31           This enables 8kB pages as supported by Meta 2.x and later MMUs.
33 config PAGE_SIZE_16K
34         bool "16kB"
35         depends on METAG_META21_MMU
36         help
37           This enables 16kB pages as supported by Meta 2.x and later MMUs.
39 endchoice
41 config NUMA
42         bool "Non Uniform Memory Access (NUMA) Support"
43         select ARCH_WANT_NUMA_VARIABLE_LOCALITY
44         help
45           Some Meta systems have MMU-mappable on-chip memories with
46           lower latencies than main memory. This enables support for
47           these blocks by binding them to nodes and allowing
48           memory policies to be used for prioritizing and controlling
49           allocation behaviour.
51 config FORCE_MAX_ZONEORDER
52         int "Maximum zone order"
53         range 10 32
54         default "10"
55         help
56           The kernel memory allocator divides physically contiguous memory
57           blocks into "zones", where each zone is a power of two number of
58           pages.  This option selects the largest power of two that the kernel
59           keeps in the memory allocator.  If you need to allocate very large
60           blocks of physically contiguous memory, then you may need to
61           increase this value.
63           This config option is actually maximum order plus one. For example,
64           a value of 11 means that the largest free memory block is 2^10 pages.
66           The page size is not necessarily 4KB.  Keep this in mind
67           when choosing a value for this option.
69 config METAG_L2C
70         bool "Level 2 Cache Support"
71         depends on METAG_META21
72         help
73           Press y here to enable support for the Meta Level 2 (L2) cache. This
74           will enable the cache at start up if it hasn't already been enabled
75           by the bootloader.
77           If the bootloader enables the L2 you must press y here to ensure the
78           kernel takes the appropriate actions to keep the cache coherent.
80 config NODES_SHIFT
81         int
82         default "1"
83         depends on NEED_MULTIPLE_NODES
85 config ARCH_FLATMEM_ENABLE
86         def_bool y
87         depends on !NUMA
89 config ARCH_SPARSEMEM_ENABLE
90         def_bool y
91         select SPARSEMEM_STATIC
93 config ARCH_SPARSEMEM_DEFAULT
94         def_bool y
96 config MAX_ACTIVE_REGIONS
97         int
98         default "2" if SPARSEMEM
99         default "1"
101 config ARCH_POPULATES_NODE_MAP
102         def_bool y
104 config ARCH_SELECT_MEMORY_MODEL
105         def_bool y
107 config SYS_SUPPORTS_HUGETLBFS
108         def_bool y
109         depends on METAG_META21_MMU
111 choice
112         prompt "HugeTLB page size"
113         depends on METAG_META21_MMU && HUGETLB_PAGE
114         default HUGETLB_PAGE_SIZE_1M
116 config HUGETLB_PAGE_SIZE_8K
117         bool "8kB"
118         depends on PAGE_SIZE_4K
120 config HUGETLB_PAGE_SIZE_16K
121         bool "16kB"
122         depends on PAGE_SIZE_4K || PAGE_SIZE_8K
124 config HUGETLB_PAGE_SIZE_32K
125         bool "32kB"
127 config HUGETLB_PAGE_SIZE_64K
128         bool "64kB"
130 config HUGETLB_PAGE_SIZE_128K
131         bool "128kB"
133 config HUGETLB_PAGE_SIZE_256K
134         bool "256kB"
136 config HUGETLB_PAGE_SIZE_512K
137         bool "512kB"
139 config HUGETLB_PAGE_SIZE_1M
140         bool "1MB"
142 config HUGETLB_PAGE_SIZE_2M
143         bool "2MB"
145 config HUGETLB_PAGE_SIZE_4M
146         bool "4MB"
148 endchoice
150 config METAG_COREMEM
151         bool
152         default y if SUSPEND
154 source "mm/Kconfig"