]> git.karo-electronics.de Git - karo-tx-linux.git/blob - arch/metag/mm/Kconfig
Merge tag 'iio-fixes-for-3.9a' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23...
[karo-tx-linux.git] / arch / metag / mm / Kconfig
1 menu "Memory management options"
2
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
10
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.
17
18 choice
19         prompt "User page size"
20         default PAGE_SIZE_4K
21
22 config PAGE_SIZE_4K
23         bool "4kB"
24         help
25           This is the default page size used by all Meta cores.
26
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.
32
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.
38
39 endchoice
40
41 config NUMA
42         bool "Non Uniform Memory Access (NUMA) Support"
43         help
44           Some Meta systems have MMU-mappable on-chip memories with
45           lower latencies than main memory. This enables support for
46           these blocks by binding them to nodes and allowing
47           memory policies to be used for prioritizing and controlling
48           allocation behaviour.
49
50 config FORCE_MAX_ZONEORDER
51         int "Maximum zone order"
52         range 10 32
53         default "10"
54         help
55           The kernel memory allocator divides physically contiguous memory
56           blocks into "zones", where each zone is a power of two number of
57           pages.  This option selects the largest power of two that the kernel
58           keeps in the memory allocator.  If you need to allocate very large
59           blocks of physically contiguous memory, then you may need to
60           increase this value.
61
62           This config option is actually maximum order plus one. For example,
63           a value of 11 means that the largest free memory block is 2^10 pages.
64
65           The page size is not necessarily 4KB.  Keep this in mind
66           when choosing a value for this option.
67
68 config METAG_L2C
69         bool "Level 2 Cache Support"
70         depends on METAG_META21
71         help
72           Press y here to enable support for the Meta Level 2 (L2) cache. This
73           will enable the cache at start up if it hasn't already been enabled
74           by the bootloader.
75
76           If the bootloader enables the L2 you must press y here to ensure the
77           kernel takes the appropriate actions to keep the cache coherent.
78
79 config NODES_SHIFT
80         int
81         default "1"
82         depends on NEED_MULTIPLE_NODES
83
84 config ARCH_FLATMEM_ENABLE
85         def_bool y
86         depends on !NUMA
87
88 config ARCH_SPARSEMEM_ENABLE
89         def_bool y
90         select SPARSEMEM_STATIC
91
92 config ARCH_SPARSEMEM_DEFAULT
93         def_bool y
94
95 config MAX_ACTIVE_REGIONS
96         int
97         default "2" if SPARSEMEM
98         default "1"
99
100 config ARCH_POPULATES_NODE_MAP
101         def_bool y
102
103 config ARCH_SELECT_MEMORY_MODEL
104         def_bool y
105
106 config SYS_SUPPORTS_HUGETLBFS
107         def_bool y
108         depends on METAG_META21_MMU
109
110 choice
111         prompt "HugeTLB page size"
112         depends on METAG_META21_MMU && HUGETLB_PAGE
113         default HUGETLB_PAGE_SIZE_1M
114
115 config HUGETLB_PAGE_SIZE_8K
116         bool "8kB"
117         depends on PAGE_SIZE_4K
118
119 config HUGETLB_PAGE_SIZE_16K
120         bool "16kB"
121         depends on PAGE_SIZE_4K || PAGE_SIZE_8K
122
123 config HUGETLB_PAGE_SIZE_32K
124         bool "32kB"
125
126 config HUGETLB_PAGE_SIZE_64K
127         bool "64kB"
128
129 config HUGETLB_PAGE_SIZE_128K
130         bool "128kB"
131
132 config HUGETLB_PAGE_SIZE_256K
133         bool "256kB"
134
135 config HUGETLB_PAGE_SIZE_512K
136         bool "512kB"
137
138 config HUGETLB_PAGE_SIZE_1M
139         bool "1MB"
140
141 config HUGETLB_PAGE_SIZE_2M
142         bool "2MB"
143
144 config HUGETLB_PAGE_SIZE_4M
145         bool "4MB"
146
147 endchoice
148
149 config METAG_COREMEM
150         bool
151         default y if SUSPEND
152
153 source "mm/Kconfig"