From: Marc Zyngier Date: Fri, 18 Jun 2021 16:30:39 +0000 (+0100) Subject: Merge branch arm64/for-next/caches into kvmarm-master/next X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=85c653fcc6353b44ee6cad18746be5bb2b08be42;p=linux.git Merge branch arm64/for-next/caches into kvmarm-master/next arm64 cache management function cleanup from Fuad Tabba, shared with the arm64 tree. * arm64/for-next/caches: arm64: Rename arm64-internal cache maintenance functions arm64: Fix cache maintenance function comments arm64: sync_icache_aliases to take end parameter instead of size arm64: __clean_dcache_area_pou to take end parameter instead of size arm64: __clean_dcache_area_pop to take end parameter instead of size arm64: __clean_dcache_area_poc to take end parameter instead of size arm64: __flush_dcache_area to take end parameter instead of size arm64: dcache_by_line_op to take end parameter instead of size arm64: __inval_dcache_area to take end parameter instead of size arm64: Fix comments to refer to correct function __flush_icache_range arm64: Move documentation of dcache_by_line_op arm64: assembler: remove user_alt arm64: Downgrade flush_icache_range to invalidate arm64: Do not enable uaccess for invalidate_icache_range arm64: Do not enable uaccess for flush_icache_range arm64: Apply errata to swsusp_arch_suspend_exit arm64: assembler: add conditional cache fixups arm64: assembler: replace `kaddr` with `addr` Signed-off-by: Marc Zyngier --- 85c653fcc6353b44ee6cad18746be5bb2b08be42 diff --cc arch/arm64/include/asm/kvm_mmu.h index 6844a75503923,f4cbfa9025a83..b52c5c4b9a3dd --- a/arch/arm64/include/asm/kvm_mmu.h +++ b/arch/arm64/include/asm/kvm_mmu.h @@@ -205,11 -209,13 +206,10 @@@ static inline void __invalidate_icache_ { if (icache_is_aliasing()) { /* any kind of VIPT cache */ - __flush_icache_all(); + icache_inval_all_pou(); } else if (is_kernel_in_hyp_mode() || !icache_is_vpipt()) { /* PIPT or VPIPT at EL2 (see comment in __kvm_tlb_flush_vmid_ipa) */ - invalidate_icache_range((unsigned long)va, - void *va = page_address(pfn_to_page(pfn)); - - icache_inval_pou((unsigned long)va, -- (unsigned long)va + size); ++ icache_inval_pou((unsigned long)va, (unsigned long)va + size); } }