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
36AFLAGS_abort-ev6.o	:=-Wa,-march=armv6k
37AFLAGS_abort-ev7.o	:=-Wa,-march=armv7-a
38
39obj-$(CONFIG_CPU_PABRT_LEGACY)	+= pabort-legacy.o
40obj-$(CONFIG_CPU_PABRT_V6)	+= pabort-v6.o
41obj-$(CONFIG_CPU_PABRT_V7)	+= pabort-v7.o
42
43obj-$(CONFIG_CPU_CACHE_V4)	+= cache-v4.o
44obj-$(CONFIG_CPU_CACHE_V4WT)	+= cache-v4wt.o
45obj-$(CONFIG_CPU_CACHE_V4WB)	+= cache-v4wb.o
46obj-$(CONFIG_CPU_CACHE_V6)	+= cache-v6.o
47obj-$(CONFIG_CPU_CACHE_V7)	+= cache-v7.o
48obj-$(CONFIG_CPU_CACHE_FA)	+= cache-fa.o
49obj-$(CONFIG_CPU_CACHE_NOP)	+= cache-nop.o
50obj-$(CONFIG_CPU_CACHE_V7M)	+= cache-v7m.o
51
52AFLAGS_cache-v6.o	:=-Wa,-march=armv6
53AFLAGS_cache-v7.o	:=-Wa,-march=armv7-a
54AFLAGS_cache-v7m.o	:=-Wa,-march=armv7-m
55
56obj-$(CONFIG_CPU_COPY_V4WT)	+= copypage-v4wt.o
57obj-$(CONFIG_CPU_COPY_V4WB)	+= copypage-v4wb.o
58obj-$(CONFIG_CPU_COPY_FEROCEON)	+= copypage-feroceon.o
59obj-$(CONFIG_CPU_COPY_V6)	+= copypage-v6.o context.o
60obj-$(CONFIG_CPU_SA1100)	+= copypage-v4mc.o
61obj-$(CONFIG_CPU_XSCALE)	+= copypage-xscale.o
62obj-$(CONFIG_CPU_XSC3)		+= copypage-xsc3.o
63obj-$(CONFIG_CPU_COPY_FA)	+= copypage-fa.o
64
65CFLAGS_copypage-feroceon.o := -march=armv5te
66
67obj-$(CONFIG_CPU_TLB_V4WT)	+= tlb-v4.o
68obj-$(CONFIG_CPU_TLB_V4WB)	+= tlb-v4wb.o
69obj-$(CONFIG_CPU_TLB_V4WBI)	+= tlb-v4wbi.o
70obj-$(CONFIG_CPU_TLB_FEROCEON)	+= tlb-v4wbi.o	# reuse v4wbi TLB functions
71obj-$(CONFIG_CPU_TLB_V6)	+= tlb-v6.o
72obj-$(CONFIG_CPU_TLB_V7)	+= tlb-v7.o
73obj-$(CONFIG_CPU_TLB_FA)	+= tlb-fa.o
74
75AFLAGS_tlb-v6.o		:=-Wa,-march=armv6
76AFLAGS_tlb-v7.o		:=-Wa,-march=armv7-a
77
78obj-$(CONFIG_CPU_ARM7TDMI)	+= proc-arm7tdmi.o
79obj-$(CONFIG_CPU_ARM720T)	+= proc-arm720.o
80obj-$(CONFIG_CPU_ARM740T)	+= proc-arm740.o
81obj-$(CONFIG_CPU_ARM9TDMI)	+= proc-arm9tdmi.o
82obj-$(CONFIG_CPU_ARM920T)	+= proc-arm920.o
83obj-$(CONFIG_CPU_ARM922T)	+= proc-arm922.o
84obj-$(CONFIG_CPU_ARM925T)	+= proc-arm925.o
85obj-$(CONFIG_CPU_ARM926T)	+= proc-arm926.o
86obj-$(CONFIG_CPU_ARM940T)	+= proc-arm940.o
87obj-$(CONFIG_CPU_ARM946E)	+= proc-arm946.o
88obj-$(CONFIG_CPU_FA526)		+= proc-fa526.o
89obj-$(CONFIG_CPU_ARM1020)	+= proc-arm1020.o
90obj-$(CONFIG_CPU_ARM1020E)	+= proc-arm1020e.o
91obj-$(CONFIG_CPU_ARM1022)	+= proc-arm1022.o
92obj-$(CONFIG_CPU_ARM1026)	+= proc-arm1026.o
93obj-$(CONFIG_CPU_SA110)		+= proc-sa110.o
94obj-$(CONFIG_CPU_SA1100)	+= proc-sa1100.o
95obj-$(CONFIG_CPU_XSCALE)	+= proc-xscale.o
96obj-$(CONFIG_CPU_XSC3)		+= proc-xsc3.o
97obj-$(CONFIG_CPU_MOHAWK)	+= proc-mohawk.o
98obj-$(CONFIG_CPU_FEROCEON)	+= proc-feroceon.o
99obj-$(CONFIG_CPU_V6)		+= proc-v6.o
100obj-$(CONFIG_CPU_V6K)		+= proc-v6.o
101obj-$(CONFIG_CPU_V7)		+= proc-v7.o proc-v7-bugs.o
102obj-$(CONFIG_CPU_V7M)		+= proc-v7m.o
103
104AFLAGS_proc-v6.o	:=-Wa,-march=armv6
105AFLAGS_proc-v7.o	:=-Wa,-march=armv7-a
106
107obj-$(CONFIG_OUTER_CACHE)	+= l2c-common.o
108obj-$(CONFIG_CACHE_B15_RAC)	+= cache-b15-rac.o
109obj-$(CONFIG_CACHE_FEROCEON_L2)	+= cache-feroceon-l2.o
110obj-$(CONFIG_CACHE_L2X0)	+= cache-l2x0.o l2c-l2x0-resume.o
111obj-$(CONFIG_CACHE_L2X0_PMU)	+= cache-l2x0-pmu.o
112obj-$(CONFIG_CACHE_XSC3L2)	+= cache-xsc3l2.o
113obj-$(CONFIG_CACHE_TAUROS2)	+= cache-tauros2.o
114obj-$(CONFIG_CACHE_UNIPHIER)	+= cache-uniphier.o
115
116KASAN_SANITIZE_kasan_init.o	:= n
117obj-$(CONFIG_KASAN)		+= kasan_init.o
118