RISC-V: KVM: Don't treat SBI HFENCE calls as NOPs

[ Upstream commit 2e7be162996640bbe3b6da694cc064c511b8a5d9 ]

The SBI specification clearly states that SBI HFENCE calls should
return SBI_ERR_NOT_SUPPORTED when one of the target hart doesn’t
support hypervisor extension (aka nested virtualization in-case
of KVM RISC-V).

Fixes: c7fa3c48de ("RISC-V: KVM: Treat SBI HFENCE calls as NOPs")
Reviewed-by: Atish Patra <atishp@rivosinc.com>
Signed-off-by: Anup Patel <apatel@ventanamicro.com>
Link: https://lore.kernel.org/r/20250605061458.196003-3-apatel@ventanamicro.com
Signed-off-by: Anup Patel <anup@brainfault.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Anup Patel
2025-06-05 11:44:47 +05:30
committed by Greg Kroah-Hartman
parent e20f0f44ec
commit 2a673aca82

View File

@@ -127,9 +127,9 @@ static int kvm_sbi_ext_rfence_handler(struct kvm_vcpu *vcpu, struct kvm_run *run
case SBI_EXT_RFENCE_REMOTE_HFENCE_VVMA_ASID: case SBI_EXT_RFENCE_REMOTE_HFENCE_VVMA_ASID:
/* /*
* Until nested virtualization is implemented, the * Until nested virtualization is implemented, the
* SBI HFENCE calls should be treated as NOPs * SBI HFENCE calls should return not supported
* hence fallthrough.
*/ */
break;
default: default:
retdata->err_val = SBI_ERR_NOT_SUPPORTED; retdata->err_val = SBI_ERR_NOT_SUPPORTED;
} }