x86: kmsan: disable instrumentation of unsupported code
[linux-block.git] / arch / x86 / mm / Makefile
CommitLineData
b2441318 1# SPDX-License-Identifier: GPL-2.0
1cd9c22f
KS
2# Kernel does not boot with instrumentation of tlb.c and mem_encrypt*.c
3KCOV_INSTRUMENT_tlb.o := n
20f07a04 4KCOV_INSTRUMENT_mem_encrypt.o := n
dbca5e1a 5KCOV_INSTRUMENT_mem_encrypt_amd.o := n
1cd9c22f 6KCOV_INSTRUMENT_mem_encrypt_identity.o := n
818c4fda 7KCOV_INSTRUMENT_pgprot.o := n
67bb8e99 8
20f07a04 9KASAN_SANITIZE_mem_encrypt.o := n
dbca5e1a 10KASAN_SANITIZE_mem_encrypt_amd.o := n
1cd9c22f 11KASAN_SANITIZE_mem_encrypt_identity.o := n
818c4fda 12KASAN_SANITIZE_pgprot.o := n
67bb8e99 13
40d04110
ME
14# Disable KCSAN entirely, because otherwise we get warnings that some functions
15# reference __initdata sections.
16KCSAN_SANITIZE := n
93324e68
AP
17# Avoid recursion by not calling KMSAN hooks for CEA code.
18KMSAN_SANITIZE_cpu_entry_area.o := n
40d04110 19
67bb8e99 20ifdef CONFIG_FUNCTION_TRACER
20f07a04 21CFLAGS_REMOVE_mem_encrypt.o = -pg
dbca5e1a 22CFLAGS_REMOVE_mem_encrypt_amd.o = -pg
1cd9c22f 23CFLAGS_REMOVE_mem_encrypt_identity.o = -pg
818c4fda 24CFLAGS_REMOVE_pgprot.o = -pg
67bb8e99 25endif
5c9a8750 26
f9b57cf8 27obj-y := init.o init_$(BITS).o fault.o ioremap.o extable.o mmap.o \
98931dd9 28 pgtable.o physaddr.o tlb.o cpu_entry_area.o maccess.o pgprot.o
f9b57cf8
IM
29
30obj-y += pat/
2596e0fa 31
577eebea 32# Make sure __phys_addr has no stackprotector
893ab004 33CFLAGS_physaddr.o := -fno-stack-protector
893ab004 34CFLAGS_mem_encrypt_identity.o := -fno-stack-protector
577eebea 35
9cc342f6 36CFLAGS_fault.o := -I $(srctree)/$(src)/../include/asm/trace
d34603b0 37
fd940934 38obj-$(CONFIG_X86_32) += pgtable_32.o iomap_32.o
2596e0fa
PA
39
40obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o
2ae27137
SP
41obj-$(CONFIG_PTDUMP_CORE) += dump_pagetables.o
42obj-$(CONFIG_PTDUMP_DEBUGFS) += debug_pagetables.o
2596e0fa
PA
43
44obj-$(CONFIG_HIGHMEM) += highmem_32.o
45
ef7f0d6a
AR
46KASAN_SANITIZE_kasan_init_$(BITS).o := n
47obj-$(CONFIG_KASAN) += kasan_init_$(BITS).o
48
ff3a3e9b 49obj-$(CONFIG_MMIOTRACE) += mmiotrace.o
fd3fdf11 50mmiotrace-y := kmmio.o pf_in.o mmio-mod.o
ff3a3e9b
PP
51obj-$(CONFIG_MMIOTRACE_TEST) += testmmiotrace.o
52
71ee73e7 53obj-$(CONFIG_NUMA) += numa.o numa_$(BITS).o
c6f58878 54obj-$(CONFIG_AMD_NUMA) += amdtopology.o
5acd91ab 55obj-$(CONFIG_ACPI_NUMA) += srat.o
b8ef9172 56obj-$(CONFIG_NUMA_EMU) += numa_emulation.o
6247943d 57
aa8c6248
TG
58obj-$(CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS) += pkeys.o
59obj-$(CONFIG_RANDOMIZE_MEMORY) += kaslr.o
60obj-$(CONFIG_PAGE_TABLE_ISOLATION) += pti.o
62b5f7d0 61
20f07a04 62obj-$(CONFIG_X86_MEM_ENCRYPT) += mem_encrypt.o
dbca5e1a 63obj-$(CONFIG_AMD_MEM_ENCRYPT) += mem_encrypt_amd.o
20f07a04 64
1cd9c22f 65obj-$(CONFIG_AMD_MEM_ENCRYPT) += mem_encrypt_identity.o
6ebcb060 66obj-$(CONFIG_AMD_MEM_ENCRYPT) += mem_encrypt_boot.o