blob: f06f3577d8d1e83fe23e34e8771a8041a7f76b86 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001# SPDX-License-Identifier: GPL-2.0
Paul Mackerras14cf11a2005-09-26 16:04:21 +10002#
3# Makefile for the linux ppc-specific parts of the memory manager.
4#
5
Michael Ellermanba55bd72009-06-09 20:48:51 +00006subdir-ccflags-$(CONFIG_PPC_WERROR) := -Werror
7
Anton Blanchard1fbe9cf2012-11-26 17:41:08 +00008ccflags-$(CONFIG_PPC64) := $(NO_MINIMAL_TOC)
Stephen Rothwell3a5f8c52005-10-11 19:40:20 +10009
Aneesh Kumar K.Vb30e7592014-11-05 21:57:41 +053010obj-y := fault.o mem.o pgtable.o mmap.o \
Christophe Leroy9b081e12016-12-07 08:47:24 +010011 init_$(BITS).o pgtable_$(BITS).o \
Nathan Fontenot6c6ea532017-12-01 10:47:08 -060012 init-common.o mmu_context.o drmem.o
Benjamin Herrenschmidt2a4aca112008-12-18 19:13:42 +000013obj-$(CONFIG_PPC_MMU_NOHASH) += mmu_context_nohash.o tlb_nohash.o \
14 tlb_nohash_low.o
Michael Ellerman68201fb2016-08-11 16:03:14 +100015obj-$(CONFIG_PPC_BOOK3E) += tlb_low_$(BITS)e.o
Benjamin Herrenschmidt94491682009-06-02 21:17:45 +000016hash64-$(CONFIG_PPC_NATIVE) := hash_native_64.o
Aneesh Kumar K.Veee24b52016-04-29 23:25:44 +100017obj-$(CONFIG_PPC_BOOK3E_64) += pgtable-book3e.o
Michael Ellerman4e003742017-10-19 15:08:43 +110018obj-$(CONFIG_PPC_BOOK3S_64) += pgtable-hash64.o hash_utils_64.o slb_low.o slb.o $(hash64-y) mmu_context_book3s64.o pgtable-book3s64.o
Aneesh Kumar K.V1a472c92016-04-29 23:26:05 +100019obj-$(CONFIG_PPC_RADIX_MMU) += pgtable-radix.o tlb-radix.o
Aneesh Kumar K.Vf5df4b42016-04-29 23:26:03 +100020obj-$(CONFIG_PPC_STD_MMU_32) += ppc_mmu_32.o hash_low_32.o mmu_context_hash32.o
Michael Ellerman68201fb2016-08-11 16:03:14 +100021obj-$(CONFIG_PPC_STD_MMU) += tlb_hash$(BITS).o
Michael Ellerman4e003742017-10-19 15:08:43 +110022ifeq ($(CONFIG_PPC_BOOK3S_64),y)
Aneesh Kumar K.Va43c0eb2015-12-01 09:06:49 +053023obj-$(CONFIG_PPC_4K_PAGES) += hash64_4k.o
Aneesh Kumar K.V91f1da92015-12-01 09:06:43 +053024obj-$(CONFIG_PPC_64K_PAGES) += hash64_64k.o
25endif
Josh Boyer15f65272007-08-20 07:27:07 -050026obj-$(CONFIG_40x) += 40x_mmu.o
Paul Mackerras14cf11a2005-09-26 16:04:21 +100027obj-$(CONFIG_44x) += 44x_mmu.o
Christophe Leroya372acf2016-02-09 17:07:50 +010028obj-$(CONFIG_PPC_8xx) += 8xx_mmu.o
Kumar Gala55fd7662009-10-16 18:48:40 -050029obj-$(CONFIG_PPC_FSL_BOOK3E) += fsl_booke_mmu.o
Paul Mackerrasab1f9da2005-10-10 21:58:35 +100030obj-$(CONFIG_NEED_MULTIPLE_NODES) += numa.o
Greg Kurz4b6cfb22015-02-23 16:14:31 +010031obj-$(CONFIG_PPC_SPLPAR) += vphn.o
Benjamin Herrenschmidtd0f13e32007-05-08 16:27:27 +100032obj-$(CONFIG_PPC_MM_SLICES) += slice.o
David Gibson883a3e52009-10-26 19:24:31 +000033obj-y += hugetlbpage.o
Aneesh Kumar K.V29409992013-06-20 14:30:16 +053034ifeq ($(CONFIG_HUGETLB_PAGE),y)
Michael Ellerman4e003742017-10-19 15:08:43 +110035obj-$(CONFIG_PPC_BOOK3S_64) += hugetlbpage-hash64.o
Aneesh Kumar K.V48483762016-04-29 23:26:25 +100036obj-$(CONFIG_PPC_RADIX_MMU) += hugetlbpage-radix.o
Becky Bruce41151e72011-06-28 09:54:48 +000037obj-$(CONFIG_PPC_BOOK3E_MMU) += hugetlbpage-book3e.o
David Gibson883a3e52009-10-26 19:24:31 +000038endif
Aneesh Kumar K.V6d492ec2013-06-20 14:30:21 +053039obj-$(CONFIG_TRANSPARENT_HUGEPAGE) += hugepage-hash64.o
Paul Mackerrasfa282372008-01-24 08:35:13 +110040obj-$(CONFIG_PPC_SUBPAGE_PROT) += subpage-prot.o
Benjamin Herrenschmidtb16e7762009-05-27 13:36:10 +100041obj-$(CONFIG_NOT_COHERENT_CACHE) += dma-noncoherent.o
Benjamin Herrenschmidt850f6ac32009-06-18 19:25:00 +000042obj-$(CONFIG_HIGHMEM) += highmem.o
Ian Munsiee83d0162014-10-08 19:54:50 +110043obj-$(CONFIG_PPC_COPRO_BASE) += copro_fault.o
Alexey Kardashevskiy15b244a2015-06-05 16:35:24 +100044obj-$(CONFIG_SPAPR_TCE_IOMMU) += mmu_context_iommu.o
Michael Ellermandd5ac032016-11-30 19:41:02 +110045obj-$(CONFIG_PPC_PTDUMP) += dump_linuxpagetables.o
46obj-$(CONFIG_PPC_HTDUMP) += dump_hashpagetable.o
Ram Pai92e3da32018-01-18 17:50:24 -080047obj-$(CONFIG_PPC_MEM_KEYS) += pkeys.o