162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci# Kernel does not boot with instrumentation of tlb.c and mem_encrypt*.c
362306a36Sopenharmony_ciKCOV_INSTRUMENT_tlb.o			:= n
462306a36Sopenharmony_ciKCOV_INSTRUMENT_mem_encrypt.o		:= n
562306a36Sopenharmony_ciKCOV_INSTRUMENT_mem_encrypt_amd.o	:= n
662306a36Sopenharmony_ciKCOV_INSTRUMENT_mem_encrypt_identity.o	:= n
762306a36Sopenharmony_ciKCOV_INSTRUMENT_pgprot.o		:= n
862306a36Sopenharmony_ci
962306a36Sopenharmony_ciKASAN_SANITIZE_mem_encrypt.o		:= n
1062306a36Sopenharmony_ciKASAN_SANITIZE_mem_encrypt_amd.o	:= n
1162306a36Sopenharmony_ciKASAN_SANITIZE_mem_encrypt_identity.o	:= n
1262306a36Sopenharmony_ciKASAN_SANITIZE_pgprot.o		:= n
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci# Disable KCSAN entirely, because otherwise we get warnings that some functions
1562306a36Sopenharmony_ci# reference __initdata sections.
1662306a36Sopenharmony_ciKCSAN_SANITIZE := n
1762306a36Sopenharmony_ci# Avoid recursion by not calling KMSAN hooks for CEA code.
1862306a36Sopenharmony_ciKMSAN_SANITIZE_cpu_entry_area.o := n
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ciifdef CONFIG_FUNCTION_TRACER
2162306a36Sopenharmony_ciCFLAGS_REMOVE_mem_encrypt.o		= -pg
2262306a36Sopenharmony_ciCFLAGS_REMOVE_mem_encrypt_amd.o		= -pg
2362306a36Sopenharmony_ciCFLAGS_REMOVE_mem_encrypt_identity.o	= -pg
2462306a36Sopenharmony_ciCFLAGS_REMOVE_pgprot.o			= -pg
2562306a36Sopenharmony_ciendif
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ciobj-y				:=  init.o init_$(BITS).o fault.o ioremap.o extable.o mmap.o \
2862306a36Sopenharmony_ci				    pgtable.o physaddr.o tlb.o cpu_entry_area.o maccess.o pgprot.o
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ciobj-y				+= pat/
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci# Make sure __phys_addr has no stackprotector
3362306a36Sopenharmony_ciCFLAGS_physaddr.o		:= -fno-stack-protector
3462306a36Sopenharmony_ciCFLAGS_mem_encrypt_identity.o	:= -fno-stack-protector
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ciCFLAGS_fault.o := -I $(srctree)/$(src)/../include/asm/trace
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ciobj-$(CONFIG_X86_32)		+= pgtable_32.o iomap_32.o
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ciobj-$(CONFIG_HUGETLB_PAGE)	+= hugetlbpage.o
4162306a36Sopenharmony_ciobj-$(CONFIG_PTDUMP_CORE)	+= dump_pagetables.o
4262306a36Sopenharmony_ciobj-$(CONFIG_PTDUMP_DEBUGFS)	+= debug_pagetables.o
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ciobj-$(CONFIG_HIGHMEM)		+= highmem_32.o
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ciKASAN_SANITIZE_kasan_init_$(BITS).o := n
4762306a36Sopenharmony_ciobj-$(CONFIG_KASAN)		+= kasan_init_$(BITS).o
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ciKMSAN_SANITIZE_kmsan_shadow.o	:= n
5062306a36Sopenharmony_ciobj-$(CONFIG_KMSAN)		+= kmsan_shadow.o
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ciobj-$(CONFIG_MMIOTRACE)		+= mmiotrace.o
5362306a36Sopenharmony_cimmiotrace-y			:= kmmio.o pf_in.o mmio-mod.o
5462306a36Sopenharmony_ciobj-$(CONFIG_MMIOTRACE_TEST)	+= testmmiotrace.o
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ciobj-$(CONFIG_NUMA)		+= numa.o numa_$(BITS).o
5762306a36Sopenharmony_ciobj-$(CONFIG_AMD_NUMA)		+= amdtopology.o
5862306a36Sopenharmony_ciobj-$(CONFIG_ACPI_NUMA)		+= srat.o
5962306a36Sopenharmony_ciobj-$(CONFIG_NUMA_EMU)		+= numa_emulation.o
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ciobj-$(CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS)	+= pkeys.o
6262306a36Sopenharmony_ciobj-$(CONFIG_RANDOMIZE_MEMORY)			+= kaslr.o
6362306a36Sopenharmony_ciobj-$(CONFIG_PAGE_TABLE_ISOLATION)		+= pti.o
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ciobj-$(CONFIG_X86_MEM_ENCRYPT)	+= mem_encrypt.o
6662306a36Sopenharmony_ciobj-$(CONFIG_AMD_MEM_ENCRYPT)	+= mem_encrypt_amd.o
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ciobj-$(CONFIG_AMD_MEM_ENCRYPT)	+= mem_encrypt_identity.o
6962306a36Sopenharmony_ciobj-$(CONFIG_AMD_MEM_ENCRYPT)	+= mem_encrypt_boot.o
70