Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

KVM: arm64: Simplify PAGE_S2_MEMATTR

Restore PAGE_S2_MEMATTR() to its former glory, keeping the use of
FWB as an implementation detail.

Reviewed-by: Joey Gouly <joey.gouly@arm.com>
Reviewed-by: Fuad Tabba <tabba@google.com>
Tested-by: Fuad Tabba <tabba@google.com>
Link: https://patch.msgid.link/20260123191637.715429-6-maz@kernel.org
Signed-off-by: Marc Zyngier <maz@kernel.org>

+4 -5
+2 -2
arch/arm64/include/asm/pgtable-prot.h
··· 109 109 #define PAGE_KERNEL_EXEC __pgprot(_PAGE_KERNEL_EXEC) 110 110 #define PAGE_KERNEL_EXEC_CONT __pgprot(_PAGE_KERNEL_EXEC_CONT) 111 111 112 - #define PAGE_S2_MEMATTR(attr, has_fwb) \ 112 + #define PAGE_S2_MEMATTR(attr) \ 113 113 ({ \ 114 114 u64 __val; \ 115 - if (has_fwb) \ 115 + if (cpus_have_final_cap(ARM64_HAS_STAGE2_FWB)) \ 116 116 __val = PTE_S2_MEMATTR(MT_S2_FWB_ ## attr); \ 117 117 else \ 118 118 __val = PTE_S2_MEMATTR(MT_S2_ ## attr); \
+2 -3
arch/arm64/kvm/hyp/pgtable.c
··· 653 653 654 654 #define KVM_S2_MEMATTR(pgt, attr) \ 655 655 ({ \ 656 - bool __fwb = cpus_have_final_cap(ARM64_HAS_STAGE2_FWB); \ 657 656 kvm_pte_t __attr; \ 658 657 \ 659 658 if ((pgt)->flags & KVM_PGTABLE_S2_AS_S1) \ 660 - __attr = PAGE_S2_MEMATTR(AS_S1, __fwb); \ 659 + __attr = PAGE_S2_MEMATTR(AS_S1); \ 661 660 else \ 662 - __attr = PAGE_S2_MEMATTR(attr, __fwb); \ 661 + __attr = PAGE_S2_MEMATTR(attr); \ 663 662 \ 664 663 __attr; \ 665 664 })