James Hogan | 5633004 | 2012-10-09 10:54:32 +0100 | [diff] [blame] | 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" |
Paul Mundt | 40f09f3 | 2013-03-04 10:12:35 +0900 | [diff] [blame] | 43 | select ARCH_WANT_NUMA_VARIABLE_LOCALITY |
James Hogan | 5633004 | 2012-10-09 10:54:32 +0100 | [diff] [blame] | 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. |
| 50 | |
| 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. |
| 62 | |
| 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. |
| 65 | |
| 66 | The page size is not necessarily 4KB. Keep this in mind |
| 67 | when choosing a value for this option. |
| 68 | |
| 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. |
| 76 | |
| 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. |
| 79 | |
| 80 | config NODES_SHIFT |
| 81 | int |
| 82 | default "1" |
| 83 | depends on NEED_MULTIPLE_NODES |
| 84 | |
| 85 | config ARCH_FLATMEM_ENABLE |
| 86 | def_bool y |
| 87 | depends on !NUMA |
| 88 | |
| 89 | config ARCH_SPARSEMEM_ENABLE |
| 90 | def_bool y |
| 91 | select SPARSEMEM_STATIC |
| 92 | |
| 93 | config ARCH_SPARSEMEM_DEFAULT |
| 94 | def_bool y |
| 95 | |
James Hogan | 5633004 | 2012-10-09 10:54:32 +0100 | [diff] [blame] | 96 | config ARCH_SELECT_MEMORY_MODEL |
| 97 | def_bool y |
| 98 | |
| 99 | config SYS_SUPPORTS_HUGETLBFS |
| 100 | def_bool y |
| 101 | depends on METAG_META21_MMU |
| 102 | |
| 103 | choice |
| 104 | prompt "HugeTLB page size" |
| 105 | depends on METAG_META21_MMU && HUGETLB_PAGE |
| 106 | default HUGETLB_PAGE_SIZE_1M |
| 107 | |
| 108 | config HUGETLB_PAGE_SIZE_8K |
| 109 | bool "8kB" |
| 110 | depends on PAGE_SIZE_4K |
| 111 | |
| 112 | config HUGETLB_PAGE_SIZE_16K |
| 113 | bool "16kB" |
| 114 | depends on PAGE_SIZE_4K || PAGE_SIZE_8K |
| 115 | |
| 116 | config HUGETLB_PAGE_SIZE_32K |
| 117 | bool "32kB" |
| 118 | |
| 119 | config HUGETLB_PAGE_SIZE_64K |
| 120 | bool "64kB" |
| 121 | |
| 122 | config HUGETLB_PAGE_SIZE_128K |
| 123 | bool "128kB" |
| 124 | |
| 125 | config HUGETLB_PAGE_SIZE_256K |
| 126 | bool "256kB" |
| 127 | |
| 128 | config HUGETLB_PAGE_SIZE_512K |
| 129 | bool "512kB" |
| 130 | |
| 131 | config HUGETLB_PAGE_SIZE_1M |
| 132 | bool "1MB" |
| 133 | |
| 134 | config HUGETLB_PAGE_SIZE_2M |
| 135 | bool "2MB" |
| 136 | |
| 137 | config HUGETLB_PAGE_SIZE_4M |
| 138 | bool "4MB" |
| 139 | |
| 140 | endchoice |
| 141 | |
| 142 | config METAG_COREMEM |
| 143 | bool |
| 144 | default y if SUSPEND |
| 145 | |
| 146 | source "mm/Kconfig" |