mirror of
https://github.com/torvalds/linux.git
synced 2026-03-13 23:46:14 +01:00
KVM/riscv fixes for 6.16, take #1
- Fix the size parameter check in SBI SFENCE calls - Don't treat SBI HFENCE calls as NOPs -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEZdn75s5e6LHDQ+f/rUjsVaLHLAcFAmhVTUsACgkQrUjsVaLH LAc3MQ/9EoP9phFp7jbmW4zmnssmDP+ADiV1fry81122bCMTC+3mtlkuQNHQ/S29 8rpUgln+nzVAGmnmTVecRirVqFHSQkiHDyPJU6lqk4VmuJhrsTzQn3lqpfNntKXn li+Wzh9jCSlJCqsZwAzzxchowKmBnfiPV8i/f4uFeLDQ1SQ6e+n/kFGoghjfZdiT m8PW1iHV5LFRiW+vlVi9dT9Xso3ecyf8QqhEtN2+XO+nZrGu3LM6QVTkcbh32yRK bfECy9QpDosqOpDbFeksejzDkrxtU1AHvrKwhVMBmNr/RMzDLYtUzBCJ28gKCnfM nMoegVbKxIsnMwFr7CfastA3kJIyeeyWcrk69dcq8XbbXVMRUvngpj4lU5JChayV QjHTJ9VI9ahPS7EWUaSwr8IlezLp5mvrUlGAaOISsE/sv9fPSjYc3/rUAIQd3WvB w1kXOzTpNXzHlVYX+5z1nSoZ8WbAbDFm1QQ3/Y4PubDWtRANXIlNQHh63jgQdPqL knBFXwVrrp2ylTo0G0gD98YNBmdwqd/utO1NyvsFgLOmOoJiCBSKhlBhkl1tr+BR OtOPSItebUTvr3clrYaN19NOmG2OjDjvu8JDk1O3KjmEjeX2y+0XDMr3a3R9zO7G whOTPmBJAnV3ZRr8t0HT2oLpJm9rECOBdgrGmzU1MvcagiIcr3A= =/0O/ -----END PGP SIGNATURE----- Merge tag 'kvm-riscv-fixes-6.16-1' of https://github.com/kvm-riscv/linux into HEAD KVM/riscv fixes for 6.16, take #1 - Fix the size parameter check in SBI SFENCE calls - Don't treat SBI HFENCE calls as NOPs
This commit is contained in:
commit
2f3fc29ae8
1 changed files with 4 additions and 4 deletions
|
|
@ -103,7 +103,7 @@ static int kvm_sbi_ext_rfence_handler(struct kvm_vcpu *vcpu, struct kvm_run *run
|
|||
kvm_riscv_vcpu_pmu_incr_fw(vcpu, SBI_PMU_FW_FENCE_I_SENT);
|
||||
break;
|
||||
case SBI_EXT_RFENCE_REMOTE_SFENCE_VMA:
|
||||
if (cp->a2 == 0 && cp->a3 == 0)
|
||||
if ((cp->a2 == 0 && cp->a3 == 0) || cp->a3 == -1UL)
|
||||
kvm_riscv_hfence_vvma_all(vcpu->kvm, hbase, hmask);
|
||||
else
|
||||
kvm_riscv_hfence_vvma_gva(vcpu->kvm, hbase, hmask,
|
||||
|
|
@ -111,7 +111,7 @@ static int kvm_sbi_ext_rfence_handler(struct kvm_vcpu *vcpu, struct kvm_run *run
|
|||
kvm_riscv_vcpu_pmu_incr_fw(vcpu, SBI_PMU_FW_HFENCE_VVMA_SENT);
|
||||
break;
|
||||
case SBI_EXT_RFENCE_REMOTE_SFENCE_VMA_ASID:
|
||||
if (cp->a2 == 0 && cp->a3 == 0)
|
||||
if ((cp->a2 == 0 && cp->a3 == 0) || cp->a3 == -1UL)
|
||||
kvm_riscv_hfence_vvma_asid_all(vcpu->kvm,
|
||||
hbase, hmask, cp->a4);
|
||||
else
|
||||
|
|
@ -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:
|
||||
/*
|
||||
* 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:
|
||||
retdata->err_val = SBI_ERR_NOT_SUPPORTED;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue