162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci
362306a36Sopenharmony_ciccflags-y	:= $(NO_MINIMAL_TOC)
462306a36Sopenharmony_ci
562306a36Sopenharmony_ciobj-y				+= mmu_context.o pgtable.o trace.o
662306a36Sopenharmony_ciifdef CONFIG_PPC_64S_HASH_MMU
762306a36Sopenharmony_ciCFLAGS_REMOVE_slb.o = $(CC_FLAGS_FTRACE)
862306a36Sopenharmony_ciobj-y				+= hash_pgtable.o hash_utils.o hash_tlb.o slb.o slice.o
962306a36Sopenharmony_ciobj-$(CONFIG_PPC_HASH_MMU_NATIVE)	+= hash_native.o
1062306a36Sopenharmony_ciobj-$(CONFIG_PPC_4K_PAGES)	+= hash_4k.o
1162306a36Sopenharmony_ciobj-$(CONFIG_PPC_64K_PAGES)	+= hash_64k.o
1262306a36Sopenharmony_ciobj-$(CONFIG_TRANSPARENT_HUGEPAGE) += hash_hugepage.o
1362306a36Sopenharmony_ciobj-$(CONFIG_PPC_SUBPAGE_PROT)	+= subpage_prot.o
1462306a36Sopenharmony_ciendif
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ciobj-$(CONFIG_HUGETLB_PAGE)	+= hugetlbpage.o
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ciobj-$(CONFIG_PPC_RADIX_MMU)	+= radix_pgtable.o radix_tlb.o
1962306a36Sopenharmony_ciifdef CONFIG_HUGETLB_PAGE
2062306a36Sopenharmony_ciobj-$(CONFIG_PPC_RADIX_MMU)	+= radix_hugetlbpage.o
2162306a36Sopenharmony_ciendif
2262306a36Sopenharmony_ciobj-$(CONFIG_SPAPR_TCE_IOMMU)	+= iommu_api.o
2362306a36Sopenharmony_ciobj-$(CONFIG_PPC_PKEY)	+= pkeys.o
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci# Instrumenting the SLB fault path can lead to duplicate SLB entries
2662306a36Sopenharmony_ciKCOV_INSTRUMENT_slb.o := n
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci# Parts of these can run in real mode and therefore are
2962306a36Sopenharmony_ci# not safe with the current outline KASAN implementation
3062306a36Sopenharmony_ciKASAN_SANITIZE_mmu_context.o := n
3162306a36Sopenharmony_ciKASAN_SANITIZE_pgtable.o := n
3262306a36Sopenharmony_ciKASAN_SANITIZE_radix_pgtable.o := n
3362306a36Sopenharmony_ciKASAN_SANITIZE_radix_tlb.o := n
3462306a36Sopenharmony_ciKASAN_SANITIZE_slb.o := n
3562306a36Sopenharmony_ciKASAN_SANITIZE_pkeys.o := n
36