1# SPDX-License-Identifier: GPL-2.0
2#
3# Makefile for the linux arm-specific parts of the memory manager.
4#
5
6obj-y				:= extable.o fault.o init.o iomap.o
7obj-y				+= dma-mapping$(MMUEXT).o
8obj-$(CONFIG_MMU)		+= fault-armv.o flush.o idmap.o ioremap.o \
9				   mmap.o pgd.o mmu.o pageattr.o
10KASAN_SANITIZE_mmu.o		:= n
11
12ifneq ($(CONFIG_MMU),y)
13obj-y				+= nommu.o
14obj-$(CONFIG_ARM_MPU)		+= pmsa-v7.o pmsa-v8.o
15endif
16
17obj-$(CONFIG_ARM_PTDUMP_CORE)	+= dump.o
18obj-$(CONFIG_ARM_PTDUMP_DEBUGFS)	+= ptdump_debugfs.o
19obj-$(CONFIG_MODULES)		+= proc-syms.o
20KASAN_SANITIZE_physaddr.o	:= n
21obj-$(CONFIG_DEBUG_VIRTUAL)	+= physaddr.o
22
23obj-$(CONFIG_ALIGNMENT_TRAP)	+= alignment.o
24obj-$(CONFIG_HUGETLB_PAGE)	+= hugetlbpage.o
25obj-$(CONFIG_ARM_PV_FIXUP)	+= pv-fixup-asm.o
26
27obj-$(CONFIG_CPU_ABRT_NOMMU)	+= abort-nommu.o
28obj-$(CONFIG_CPU_ABRT_EV4)	+= abort-ev4.o
29obj-$(CONFIG_CPU_ABRT_EV4T)	+= abort-ev4t.o
30obj-$(CONFIG_CPU_ABRT_LV4T)	+= abort-lv4t.o
31obj-$(CONFIG_CPU_ABRT_EV5T)	+= abort-ev5t.o
32obj-$(CONFIG_CPU_ABRT_EV5TJ)	+= abort-ev5tj.o
33obj-$(CONFIG_CPU_ABRT_EV6)	+= abort-ev6.o
34obj-$(CONFIG_CPU_ABRT_EV7)	+= abort-ev7.o
35
36obj-$(CONFIG_CPU_PABRT_LEGACY)	+= pabort-legacy.o
37obj-$(CONFIG_CPU_PABRT_V6)	+= pabort-v6.o
38obj-$(CONFIG_CPU_PABRT_V7)	+= pabort-v7.o
39
40obj-$(CONFIG_CPU_CACHE_V4)	+= cache-v4.o
41obj-$(CONFIG_CPU_CACHE_V4WT)	+= cache-v4wt.o
42obj-$(CONFIG_CPU_CACHE_V4WB)	+= cache-v4wb.o
43obj-$(CONFIG_CPU_CACHE_V6)	+= cache-v6.o
44obj-$(CONFIG_CPU_CACHE_V7)	+= cache-v7.o
45obj-$(CONFIG_CPU_CACHE_FA)	+= cache-fa.o
46obj-$(CONFIG_CPU_CACHE_NOP)	+= cache-nop.o
47obj-$(CONFIG_CPU_CACHE_V7M)	+= cache-v7m.o
48
49obj-$(CONFIG_CPU_COPY_V4WT)	+= copypage-v4wt.o
50obj-$(CONFIG_CPU_COPY_V4WB)	+= copypage-v4wb.o
51obj-$(CONFIG_CPU_COPY_FEROCEON)	+= copypage-feroceon.o
52obj-$(CONFIG_CPU_COPY_V6)	+= copypage-v6.o context.o
53obj-$(CONFIG_CPU_SA1100)	+= copypage-v4mc.o
54obj-$(CONFIG_CPU_XSCALE)	+= copypage-xscale.o
55obj-$(CONFIG_CPU_XSC3)		+= copypage-xsc3.o
56obj-$(CONFIG_CPU_COPY_FA)	+= copypage-fa.o
57
58obj-$(CONFIG_CPU_TLB_V4WT)	+= tlb-v4.o
59obj-$(CONFIG_CPU_TLB_V4WB)	+= tlb-v4wb.o
60obj-$(CONFIG_CPU_TLB_V4WBI)	+= tlb-v4wbi.o
61obj-$(CONFIG_CPU_TLB_FEROCEON)	+= tlb-v4wbi.o	# reuse v4wbi TLB functions
62obj-$(CONFIG_CPU_TLB_V6)	+= tlb-v6.o
63obj-$(CONFIG_CPU_TLB_V7)	+= tlb-v7.o
64obj-$(CONFIG_CPU_TLB_FA)	+= tlb-fa.o
65
66obj-$(CONFIG_CPU_ARM7TDMI)	+= proc-arm7tdmi.o
67obj-$(CONFIG_CPU_ARM720T)	+= proc-arm720.o
68obj-$(CONFIG_CPU_ARM740T)	+= proc-arm740.o
69obj-$(CONFIG_CPU_ARM9TDMI)	+= proc-arm9tdmi.o
70obj-$(CONFIG_CPU_ARM920T)	+= proc-arm920.o
71obj-$(CONFIG_CPU_ARM922T)	+= proc-arm922.o
72obj-$(CONFIG_CPU_ARM925T)	+= proc-arm925.o
73obj-$(CONFIG_CPU_ARM926T)	+= proc-arm926.o
74obj-$(CONFIG_CPU_ARM940T)	+= proc-arm940.o
75obj-$(CONFIG_CPU_ARM946E)	+= proc-arm946.o
76obj-$(CONFIG_CPU_FA526)		+= proc-fa526.o
77obj-$(CONFIG_CPU_ARM1020)	+= proc-arm1020.o
78obj-$(CONFIG_CPU_ARM1020E)	+= proc-arm1020e.o
79obj-$(CONFIG_CPU_ARM1022)	+= proc-arm1022.o
80obj-$(CONFIG_CPU_ARM1026)	+= proc-arm1026.o
81obj-$(CONFIG_CPU_SA110)		+= proc-sa110.o
82obj-$(CONFIG_CPU_SA1100)	+= proc-sa1100.o
83obj-$(CONFIG_CPU_XSCALE)	+= proc-xscale.o
84obj-$(CONFIG_CPU_XSC3)		+= proc-xsc3.o
85obj-$(CONFIG_CPU_MOHAWK)	+= proc-mohawk.o
86obj-$(CONFIG_CPU_FEROCEON)	+= proc-feroceon.o
87obj-$(CONFIG_CPU_V6)		+= proc-v6.o
88obj-$(CONFIG_CPU_V6K)		+= proc-v6.o
89obj-$(CONFIG_CPU_V7)		+= proc-v7.o proc-v7-bugs.o
90obj-$(CONFIG_CPU_V7M)		+= proc-v7m.o
91
92obj-$(CONFIG_OUTER_CACHE)	+= l2c-common.o
93obj-$(CONFIG_CACHE_B15_RAC)	+= cache-b15-rac.o
94obj-$(CONFIG_CACHE_FEROCEON_L2)	+= cache-feroceon-l2.o
95obj-$(CONFIG_CACHE_L2X0)	+= cache-l2x0.o l2c-l2x0-resume.o
96obj-$(CONFIG_CACHE_L2X0_PMU)	+= cache-l2x0-pmu.o
97obj-$(CONFIG_CACHE_XSC3L2)	+= cache-xsc3l2.o
98obj-$(CONFIG_CACHE_TAUROS2)	+= cache-tauros2.o
99obj-$(CONFIG_CACHE_UNIPHIER)	+= cache-uniphier.o
100
101KASAN_SANITIZE_kasan_init.o	:= n
102obj-$(CONFIG_KASAN)		+= kasan_init.o
103