Commit a373930e authored by Marc Zyngier's avatar Marc Zyngier
Browse files

KVM: arm64: Switch pKVM host S2 over to KVM_PGTABLE_S2_AS_S1



Since we have the basics to use the S1 memory attributes as the
final ones with FWB, flip the host over to that when FWB is present.

Reviewed-by: default avatarJoey Gouly <joey.gouly@arm.com>
Tested-by: default avatarFuad Tabba <tabba@google.com>
Reviewed-by: default avatarFuad Tabba <tabba@google.com>
Link: https://patch.msgid.link/20260123191637.715429-4-maz@kernel.org


Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
parent 17d7b151
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@
#include <nvhe/mem_protect.h>
#include <nvhe/mm.h>

#define KVM_HOST_S2_FLAGS (KVM_PGTABLE_S2_NOFWB | KVM_PGTABLE_S2_IDMAP)
#define KVM_HOST_S2_FLAGS (KVM_PGTABLE_S2_AS_S1 | KVM_PGTABLE_S2_IDMAP)

struct host_mmu host_mmu;

@@ -324,6 +324,8 @@ int __pkvm_prot_finalize(void)
	params->vttbr = kvm_get_vttbr(mmu);
	params->vtcr = mmu->vtcr;
	params->hcr_el2 |= HCR_VM;
	if (cpus_have_final_cap(ARM64_HAS_STAGE2_FWB))
		params->hcr_el2 |= HCR_FWB;

	/*
	 * The CMO below not only cleans the updated params to the