Commit | Line | Data |
---|---|---|
b2441318 | 1 | # SPDX-License-Identifier: GPL-2.0 |
14cf11af PM |
2 | # |
3 | # Makefile for the linux ppc-specific parts of the memory manager. | |
4 | # | |
5 | ||
1fbe9cf2 | 6 | ccflags-$(CONFIG_PPC64) := $(NO_MINIMAL_TOC) |
3a5f8c5f | 7 | |
48e7b769 NP |
8 | CFLAGS_REMOVE_slb.o = $(CC_FLAGS_FTRACE) |
9 | ||
b30e7590 | 10 | obj-y := fault.o mem.o pgtable.o mmap.o \ |
9b081e10 | 11 | init_$(BITS).o pgtable_$(BITS).o \ |
6c6ea537 | 12 | init-common.o mmu_context.o drmem.o |
2a4aca11 BH |
13 | obj-$(CONFIG_PPC_MMU_NOHASH) += mmu_context_nohash.o tlb_nohash.o \ |
14 | tlb_nohash_low.o | |
68201fbb | 15 | obj-$(CONFIG_PPC_BOOK3E) += tlb_low_$(BITS)e.o |
94491685 | 16 | hash64-$(CONFIG_PPC_NATIVE) := hash_native_64.o |
eee24b5a | 17 | obj-$(CONFIG_PPC_BOOK3E_64) += pgtable-book3e.o |
a95d133c CL |
18 | obj-$(CONFIG_PPC_BOOK3S_64) += pgtable-hash64.o hash_utils_64.o slb.o \ |
19 | $(hash64-y) mmu_context_book3s64.o \ | |
20 | pgtable-book3s64.o pgtable-frag.o | |
32ea4c14 | 21 | obj-$(CONFIG_PPC32) += pgtable-frag.o |
1a472c9d | 22 | obj-$(CONFIG_PPC_RADIX_MMU) += pgtable-radix.o tlb-radix.o |
68289ae9 | 23 | obj-$(CONFIG_PPC_BOOK3S_32) += ppc_mmu_32.o hash_low_32.o mmu_context_hash32.o |
5b3e84fc | 24 | obj-$(CONFIG_PPC_BOOK3S) += tlb_hash$(BITS).o |
badf436f | 25 | ifdef CONFIG_PPC_BOOK3S_64 |
a43c0eb8 | 26 | obj-$(CONFIG_PPC_4K_PAGES) += hash64_4k.o |
91f1da99 AK |
27 | obj-$(CONFIG_PPC_64K_PAGES) += hash64_64k.o |
28 | endif | |
15f6527e | 29 | obj-$(CONFIG_40x) += 40x_mmu.o |
14cf11af | 30 | obj-$(CONFIG_44x) += 44x_mmu.o |
a372acfa | 31 | obj-$(CONFIG_PPC_8xx) += 8xx_mmu.o |
55fd766b | 32 | obj-$(CONFIG_PPC_FSL_BOOK3E) += fsl_booke_mmu.o |
ab1f9dac | 33 | obj-$(CONFIG_NEED_MULTIPLE_NODES) += numa.o |
4b6cfb2a | 34 | obj-$(CONFIG_PPC_SPLPAR) += vphn.o |
d0f13e3c | 35 | obj-$(CONFIG_PPC_MM_SLICES) += slice.o |
883a3e52 | 36 | obj-y += hugetlbpage.o |
badf436f | 37 | ifdef CONFIG_HUGETLB_PAGE |
4e003747 | 38 | obj-$(CONFIG_PPC_BOOK3S_64) += hugetlbpage-hash64.o |
48483760 | 39 | obj-$(CONFIG_PPC_RADIX_MMU) += hugetlbpage-radix.o |
41151e77 | 40 | obj-$(CONFIG_PPC_BOOK3E_MMU) += hugetlbpage-book3e.o |
883a3e52 | 41 | endif |
6d492ecc | 42 | obj-$(CONFIG_TRANSPARENT_HUGEPAGE) += hugepage-hash64.o |
fa28237c | 43 | obj-$(CONFIG_PPC_SUBPAGE_PROT) += subpage-prot.o |
b16e7766 | 44 | obj-$(CONFIG_NOT_COHERENT_CACHE) += dma-noncoherent.o |
850f6ac3 | 45 | obj-$(CONFIG_HIGHMEM) += highmem.o |
e83d0169 | 46 | obj-$(CONFIG_PPC_COPRO_BASE) += copro_fault.o |
15b244a8 | 47 | obj-$(CONFIG_SPAPR_TCE_IOMMU) += mmu_context_iommu.o |
e66c3209 | 48 | obj-$(CONFIG_PPC_PTDUMP) += ptdump/ |
92e3da3c | 49 | obj-$(CONFIG_PPC_MEM_KEYS) += pkeys.o |
fb0b0a73 AD |
50 | |
51 | # Disable kcov instrumentation on sensitive code | |
52 | # This is necessary for booting with kcov enabled on book3e machines | |
53 | KCOV_INSTRUMENT_tlb_nohash.o := n | |
54 | KCOV_INSTRUMENT_fsl_booke_mmu.o := n | |
19d69075 MS |
55 | |
56 | # Instrumenting the SLB fault path can lead to duplicate SLB entries | |
57 | KCOV_INSTRUMENT_slb.o := n |