Re: [PATCH v2 2/3] RISC-V: KVM: Add SBI FWFT validation support
Anup Patel <[email protected]> Wed, 29 Jul 2026 13:29:54 +0530
| Newsgroups | org.infradead.lists.linux-riscv,org.infradead.lists.kvm-riscv,org.kernel.vger.kvm,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <CAAhSdy2roJqQGtCXjfm4WoeSbXxMt5GSk_WO=4fAvJ4WEbjYeg@mail.gmail.com> |
On Mon, Jul 6, 2026 at 7:42 AM Inochi Amaoto <[email protected]> wrote: > > Since the KVM SBI has extension parameters validation support, > implement it for the SBI FWFT support. > > Signed-off-by: Inochi Amaoto <[email protected]> LGTM. Reviewed-by: Anup Patel <[email protected]> Thanks, Anup > --- > arch/riscv/kvm/vcpu_sbi_fwft.c | 25 +++++++++++++++++++++++++ > 1 file changed, 25 insertions(+) > > diff --git a/arch/riscv/kvm/vcpu_sbi_fwft.c b/arch/riscv/kvm/vcpu_sbi_fwft.c > index bc514ae6521d..0aa1f9a57c90 100644 > --- a/arch/riscv/kvm/vcpu_sbi_fwft.c > +++ b/arch/riscv/kvm/vcpu_sbi_fwft.c > @@ -604,6 +604,30 @@ static void kvm_sbi_ext_fwft_reset(struct kvm_vcpu *vcpu) > } > } > > +static void kvm_sbi_ext_fwft_validate(struct kvm_vcpu *vcpu) > +{ > + struct kvm_sbi_fwft *fwft = vcpu_to_fwft(vcpu); > + const struct kvm_sbi_fwft_feature *feature; > + struct kvm_sbi_fwft_config *conf; > + int i; > + > + for (i = 0; i < ARRAY_SIZE(features); i++) { > + feature = &features[i]; > + conf = &fwft->configs[i]; > + if (!conf->supported) > + continue; > + > + if (!feature->supported || feature->supported(vcpu)) > + continue; > + > + conf->enabled = false; > + conf->flags = 0; > + > + if (feature->reset) > + feature->reset(vcpu); > + } > +} > + > static unsigned long kvm_sbi_ext_fwft_get_reg_count(struct kvm_vcpu *vcpu) > { > unsigned long max_reg_count = sizeof(struct kvm_riscv_sbi_fwft) / sizeof(unsigned long); > @@ -756,6 +780,7 @@ const struct kvm_vcpu_sbi_extension vcpu_sbi_ext_fwft = { > .init = kvm_sbi_ext_fwft_init, > .deinit = kvm_sbi_ext_fwft_deinit, > .reset = kvm_sbi_ext_fwft_reset, > + .validate = kvm_sbi_ext_fwft_validate, > .state_reg_subtype = KVM_REG_RISCV_SBI_FWFT, > .get_state_reg_count = kvm_sbi_ext_fwft_get_reg_count, > .get_state_reg_id = kvm_sbi_ext_fwft_get_reg_id, > -- > 2.55.0 > _______________________________________________ linux-riscv mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-riscv