Messages in this thread | | | Date | Mon, 7 Feb 2022 11:15:52 +0100 | Subject | Re: [PATCH v7 08/17] KVM: s390: pv: make kvm_s390_cpus_from_pv global | From | Janosch Frank <> |
| |
On 2/4/22 16:53, Claudio Imbrenda wrote: > The functions kvm_s390_cpus_from_pv needs to be called from pv.c, so > make it global.
KVM: s390: pv: Add kvm_s390_cpus_from_pv to kvm-s390.h and provide documentation
Future changes make it necessary to call this function from pv.c.
While we're add it let's properly document kvm_s390_cpus_from_pv() and kvm_s390_cpus_to_pv().
Also could you swap patches 8 and 9 so this one is closer to patch #10?
Reviewed-by: Janosch Frank <frankja@linux.ibm.com>
> > Take the opportunity to add documentation. > > Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com> > --- > arch/s390/kvm/kvm-s390.c | 26 +++++++++++++++++++++++++- > arch/s390/kvm/kvm-s390.h | 1 + > 2 files changed, 26 insertions(+), 1 deletion(-) > > diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c > index 1a788f45d691..0fc8d1aec396 100644 > --- a/arch/s390/kvm/kvm-s390.c > +++ b/arch/s390/kvm/kvm-s390.c > @@ -2175,7 +2175,20 @@ static int kvm_s390_set_cmma_bits(struct kvm *kvm, > return r; > } > > -static int kvm_s390_cpus_from_pv(struct kvm *kvm, u16 *rcp, u16 *rrcp) > +/** > + * kvm_s390_cpus_from_pv - Convert all protected vCPUs in a protected VM to > + * non protected. > + * @kvm the VM whose protected vCPUs are to be converted > + * @rcp return value for the RC field of the UVC (in case of error) > + * @rrcp return value for the RRC field of the UVC (in case of error) > + * > + * Does not stop in case of error, tries to convert as many > + * CPUs as possible. In case of error, the RC and RRC of the last error are > + * returned. > + * > + * Return: 0 in case of success, otherwise -EIO > + */ > +int kvm_s390_cpus_from_pv(struct kvm *kvm, u16 *rcp, u16 *rrcp) > { > struct kvm_vcpu *vcpu; > u16 rc, rrc; > @@ -2202,6 +2215,17 @@ static int kvm_s390_cpus_from_pv(struct kvm *kvm, u16 *rcp, u16 *rrcp) > return ret; > } > > +/** > + * kvm_s390_cpus_to_pv - Convert all non-protected vCPUs in a protected VM > + * to protected. > + * @kvm the VM whose protected vCPUs are to be converted > + * @rcp return value for the RC field of the UVC (in case of error) > + * @rrcp return value for the RRC field of the UVC (in case of error) > + * > + * Tries to undo the conversion in case of error. > + * > + * Return: 0 in case of success, otherwise -EIO > + */ > static int kvm_s390_cpus_to_pv(struct kvm *kvm, u16 *rc, u16 *rrc) > { > unsigned long i; > diff --git a/arch/s390/kvm/kvm-s390.h b/arch/s390/kvm/kvm-s390.h > index 098831e815e6..9276d910631b 100644 > --- a/arch/s390/kvm/kvm-s390.h > +++ b/arch/s390/kvm/kvm-s390.h > @@ -365,6 +365,7 @@ int kvm_s390_vcpu_setup_cmma(struct kvm_vcpu *vcpu); > void kvm_s390_vcpu_unsetup_cmma(struct kvm_vcpu *vcpu); > void kvm_s390_set_cpu_timer(struct kvm_vcpu *vcpu, __u64 cputm); > __u64 kvm_s390_get_cpu_timer(struct kvm_vcpu *vcpu); > +int kvm_s390_cpus_from_pv(struct kvm *kvm, u16 *rcp, u16 *rrcp); > > /* implemented in diag.c */ > int kvm_s390_handle_diag(struct kvm_vcpu *vcpu); >
| |