On Mon, Aug 10, 2020 at 06:54:26PM +0200, Greg Kurz wrote: > kvm_set_one_reg() returns a negative errno on failure, use that instead > of errno. Also propagate it to callers so they can use it to check > for failures and hopefully get rid of their local_err boilerplate. > > Signed-off-by: Greg Kurz <gr...@kaod.org>
Applied to ppc-for-5.2. > --- > hw/intc/spapr_xive_kvm.c | 15 ++++++++++----- > include/hw/ppc/xive.h | 4 ++-- > 2 files changed, 12 insertions(+), 7 deletions(-) > > diff --git a/hw/intc/spapr_xive_kvm.c b/hw/intc/spapr_xive_kvm.c > index b2a36fd59dae..5e088ccbf885 100644 > --- a/hw/intc/spapr_xive_kvm.c > +++ b/hw/intc/spapr_xive_kvm.c > @@ -73,7 +73,7 @@ static void kvm_cpu_disable_all(void) > * XIVE Thread Interrupt Management context (KVM) > */ > > -void kvmppc_xive_cpu_set_state(XiveTCTX *tctx, Error **errp) > +int kvmppc_xive_cpu_set_state(XiveTCTX *tctx, Error **errp) > { > SpaprXive *xive = SPAPR_XIVE(tctx->xptr); > uint64_t state[2]; > @@ -86,13 +86,16 @@ void kvmppc_xive_cpu_set_state(XiveTCTX *tctx, Error > **errp) > > ret = kvm_set_one_reg(tctx->cs, KVM_REG_PPC_VP_STATE, state); > if (ret != 0) { > - error_setg_errno(errp, errno, > + error_setg_errno(errp, -ret, > "XIVE: could not restore KVM state of CPU %ld", > kvm_arch_vcpu_id(tctx->cs)); > + return ret; > } > + > + return 0; > } > > -void kvmppc_xive_cpu_get_state(XiveTCTX *tctx, Error **errp) > +int kvmppc_xive_cpu_get_state(XiveTCTX *tctx, Error **errp) > { > SpaprXive *xive = SPAPR_XIVE(tctx->xptr); > uint64_t state[2] = { 0 }; > @@ -102,14 +105,16 @@ void kvmppc_xive_cpu_get_state(XiveTCTX *tctx, Error > **errp) > > ret = kvm_get_one_reg(tctx->cs, KVM_REG_PPC_VP_STATE, state); > if (ret != 0) { > - error_setg_errno(errp, errno, > + error_setg_errno(errp, -ret, > "XIVE: could not capture KVM state of CPU %ld", > kvm_arch_vcpu_id(tctx->cs)); > - return; > + return ret; > } > > /* word0 and word1 of the OS ring. */ > *((uint64_t *) &tctx->regs[TM_QW1_OS]) = state[0]; > + > + return 0; > } > > typedef struct { > diff --git a/include/hw/ppc/xive.h b/include/hw/ppc/xive.h > index 2d87ed43728a..785c905357dc 100644 > --- a/include/hw/ppc/xive.h > +++ b/include/hw/ppc/xive.h > @@ -489,7 +489,7 @@ int kvmppc_xive_source_reset_one(XiveSource *xsrc, int > srcno, Error **errp); > void kvmppc_xive_source_set_irq(void *opaque, int srcno, int val); > int kvmppc_xive_cpu_connect(XiveTCTX *tctx, Error **errp); > void kvmppc_xive_cpu_synchronize_state(XiveTCTX *tctx, Error **errp); > -void kvmppc_xive_cpu_get_state(XiveTCTX *tctx, Error **errp); > -void kvmppc_xive_cpu_set_state(XiveTCTX *tctx, Error **errp); > +int kvmppc_xive_cpu_get_state(XiveTCTX *tctx, Error **errp); > +int kvmppc_xive_cpu_set_state(XiveTCTX *tctx, Error **errp); > > #endif /* PPC_XIVE_H */ > > -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature