]>
Commit | Line | Data |
---|---|---|
b2441318 | 1 | # SPDX-License-Identifier: GPL-2.0 |
1da177e4 LT |
2 | # |
3 | # Makefile for the linux memory manager. | |
4 | # | |
5 | ||
0316bec2 | 6 | KASAN_SANITIZE_slab_common.o := n |
7ed2f9e6 | 7 | KASAN_SANITIZE_slab.o := n |
0316bec2 | 8 | KASAN_SANITIZE_slub.o := n |
5f2d5026 | 9 | KCSAN_SANITIZE_kmemleak.o := n |
0316bec2 | 10 | |
5c9a8750 DV |
11 | # These files are disabled because they produce non-interesting and/or |
12 | # flaky coverage that is not a function of syscall inputs. E.g. slab is out of | |
13 | # free pages, or a task is migrated between nodes. | |
14 | KCOV_INSTRUMENT_slab_common.o := n | |
15 | KCOV_INSTRUMENT_slob.o := n | |
16 | KCOV_INSTRUMENT_slab.o := n | |
17 | KCOV_INSTRUMENT_slub.o := n | |
18 | KCOV_INSTRUMENT_page_alloc.o := n | |
19 | KCOV_INSTRUMENT_debug-pagealloc.o := n | |
20 | KCOV_INSTRUMENT_kmemleak.o := n | |
5c9a8750 DV |
21 | KCOV_INSTRUMENT_memcontrol.o := n |
22 | KCOV_INSTRUMENT_mmzone.o := n | |
23 | KCOV_INSTRUMENT_vmstat.o := n | |
43e76af8 | 24 | KCOV_INSTRUMENT_failslab.o := n |
5c9a8750 | 25 | |
b57a775f QC |
26 | CFLAGS_init-mm.o += $(call cc-disable-warning, override-init) |
27 | CFLAGS_init-mm.o += $(call cc-disable-warning, initializer-overrides) | |
28 | ||
1da177e4 | 29 | mmu-y := nommu.o |
050a9adc | 30 | mmu-$(CONFIG_MMU) := highmem.o memory.o mincore.o \ |
196d9d8b PZ |
31 | mlock.o mmap.o mmu_gather.o mprotect.o mremap.o \ |
32 | msync.o page_vma_mapped.o pagewalk.o \ | |
33 | pgtable-generic.o rmap.o vmalloc.o | |
ace71a19 | 34 | |
5febcbe9 CY |
35 | |
36 | ifdef CONFIG_CROSS_MEMORY_ATTACH | |
37 | mmu-$(CONFIG_MMU) += process_vm_access.o | |
38 | endif | |
1da177e4 | 39 | |
3d8f7615 | 40 | obj-y := filemap.o mempool.o oom_kill.o fadvise.o \ |
e900a918 | 41 | maccess.o page-writeback.o \ |
853ac43a | 42 | readahead.o swap.o truncate.o vmscan.o shmem.o \ |
6b2dbba8 | 43 | util.o mmzone.o vmstat.o backing-dev.o \ |
ee6f509c | 44 | mm_init.o mmu_context.o percpu.o slab_common.o \ |
8e7a0c91 | 45 | compaction.o vmacache.o \ |
5166701b | 46 | interval_tree.o list_lru.o workingset.o \ |
050a9adc | 47 | debug.o gup.o $(mmu-y) |
039363f3 | 48 | |
e900a918 DW |
49 | # Give 'page_alloc' its own module-parameter namespace |
50 | page-alloc-y := page_alloc.o | |
51 | page-alloc-$(CONFIG_SHUFFLE_PAGE_ALLOCATOR) += shuffle.o | |
52 | ||
53 | obj-y += page-alloc.o | |
bb1f17b0 | 54 | obj-y += init-mm.o |
aca52c39 | 55 | obj-y += memblock.o |
09325873 | 56 | |
d3ac21ca | 57 | ifdef CONFIG_MMU |
887e7019 | 58 | obj-$(CONFIG_ADVISE_SYSCALLS) += madvise.o |
d3ac21ca | 59 | endif |
95f72d1e | 60 | |
8e7a0c91 | 61 | obj-$(CONFIG_SWAP) += page_io.o swap_state.o swapfile.o swap_slots.o |
27c6aec2 | 62 | obj-$(CONFIG_FRONTSWAP) += frontswap.o |
2b281117 | 63 | obj-$(CONFIG_ZSWAP) += zswap.o |
141e9d4b | 64 | obj-$(CONFIG_HAS_DMA) += dmapool.o |
1da177e4 LT |
65 | obj-$(CONFIG_HUGETLBFS) += hugetlb.o |
66 | obj-$(CONFIG_NUMA) += mempolicy.o | |
d41dee36 | 67 | obj-$(CONFIG_SPARSEMEM) += sparse.o |
8f6aac41 | 68 | obj-$(CONFIG_SPARSEMEM_VMEMMAP) += sparse-vmemmap.o |
10cef602 | 69 | obj-$(CONFIG_SLOB) += slob.o |
cddb8a5c | 70 | obj-$(CONFIG_MMU_NOTIFIER) += mmu_notifier.o |
f8af4da3 | 71 | obj-$(CONFIG_KSM) += ksm.o |
8823b1db | 72 | obj-$(CONFIG_PAGE_POISONING) += page_poison.o |
10cef602 | 73 | obj-$(CONFIG_SLAB) += slab.o |
81819f0f | 74 | obj-$(CONFIG_SLUB) += slub.o |
0b24becc | 75 | obj-$(CONFIG_KASAN) += kasan/ |
773ff60e | 76 | obj-$(CONFIG_FAILSLAB) += failslab.o |
3947be19 | 77 | obj-$(CONFIG_MEMORY_HOTPLUG) += memory_hotplug.o |
4a20799d | 78 | obj-$(CONFIG_MEMTEST) += memtest.o |
b20a3503 | 79 | obj-$(CONFIG_MIGRATION) += migrate.o |
b46e756f | 80 | obj-$(CONFIG_TRANSPARENT_HUGEPAGE) += huge_memory.o khugepaged.o |
3e32cb2e | 81 | obj-$(CONFIG_PAGE_COUNTER) += page_counter.o |
5d1ea48b JW |
82 | obj-$(CONFIG_MEMCG) += memcontrol.o vmpressure.o |
83 | obj-$(CONFIG_MEMCG_SWAP) += swap_cgroup.o | |
2bc64a20 | 84 | obj-$(CONFIG_CGROUP_HUGETLB) += hugetlb_cgroup.o |
64c349f4 | 85 | obj-$(CONFIG_GUP_BENCHMARK) += gup_benchmark.o |
6a46079c | 86 | obj-$(CONFIG_MEMORY_FAILURE) += memory-failure.o |
cae681fc | 87 | obj-$(CONFIG_HWPOISON_INJECT) += hwpoison-inject.o |
3bba00d7 | 88 | obj-$(CONFIG_DEBUG_KMEMLEAK) += kmemleak.o |
0822ee4a | 89 | obj-$(CONFIG_DEBUG_KMEMLEAK_TEST) += kmemleak-test.o |
2959a5f7 | 90 | obj-$(CONFIG_DEBUG_RODATA_TEST) += rodata_test.o |
48c96a36 | 91 | obj-$(CONFIG_PAGE_OWNER) += page_owner.o |
077b1f83 | 92 | obj-$(CONFIG_CLEANCACHE) += cleancache.o |
ee6f509c | 93 | obj-$(CONFIG_MEMORY_ISOLATION) += page_isolation.o |
af8d417a | 94 | obj-$(CONFIG_ZPOOL) += zpool.o |
4e2e2770 | 95 | obj-$(CONFIG_ZBUD) += zbud.o |
bcf1647d | 96 | obj-$(CONFIG_ZSMALLOC) += zsmalloc.o |
9a001fc1 | 97 | obj-$(CONFIG_Z3FOLD) += z3fold.o |
9e5c33d7 | 98 | obj-$(CONFIG_GENERIC_EARLY_IOREMAP) += early_ioremap.o |
a254129e | 99 | obj-$(CONFIG_CMA) += cma.o |
09316c09 | 100 | obj-$(CONFIG_MEMORY_BALLOON) += balloon_compaction.o |
eefa864b | 101 | obj-$(CONFIG_PAGE_EXTENSION) += page_ext.o |
28b24c1f | 102 | obj-$(CONFIG_CMA_DEBUGFS) += cma_debug.o |
c1a4de99 | 103 | obj-$(CONFIG_USERFAULTFD) += userfaultfd.o |
33c3fc71 | 104 | obj-$(CONFIG_IDLE_PAGE_TRACKING) += page_idle.o |
8025e5dd | 105 | obj-$(CONFIG_FRAME_VECTOR) += frame_vector.o |
95813b8f | 106 | obj-$(CONFIG_DEBUG_PAGE_REF) += debug_page_ref.o |
f5509cc1 | 107 | obj-$(CONFIG_HARDENED_USERCOPY) += usercopy.o |
30a5b536 | 108 | obj-$(CONFIG_PERCPU_STATS) += percpu-stats.o |
14c5ceba | 109 | obj-$(CONFIG_ZONE_DEVICE) += memremap.o |
43535b0a | 110 | obj-$(CONFIG_HMM_MIRROR) += hmm.o |
5d752600 | 111 | obj-$(CONFIG_MEMFD_CREATE) += memfd.o |
c5acad84 | 112 | obj-$(CONFIG_MAPPING_DIRTY_HELPERS) += mapping_dirty_helpers.o |
30d621f6 | 113 | obj-$(CONFIG_PTDUMP_CORE) += ptdump.o |
36e66c55 | 114 | obj-$(CONFIG_PAGE_REPORTING) += page_reporting.o |