mirror of https://github.com/xemu-project/xemu.git
spapr/xive: Simplify error handling of kvmppc_xive_cpu_synchronize_state()
Now that kvmppc_xive_cpu_get_state() returns negative on error, use that and get rid of the temporary Error object and error_propagate(). Signed-off-by: Greg Kurz <groug@kaod.org> Message-Id: <159707852916.1489912.8376334685349668124.stgit@bahia.lan> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
61203f2b35
commit
1118b6b727
|
@ -119,7 +119,8 @@ int kvmppc_xive_cpu_get_state(XiveTCTX *tctx, Error **errp)
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
XiveTCTX *tctx;
|
XiveTCTX *tctx;
|
||||||
Error *err;
|
Error **errp;
|
||||||
|
int ret;
|
||||||
} XiveCpuGetState;
|
} XiveCpuGetState;
|
||||||
|
|
||||||
static void kvmppc_xive_cpu_do_synchronize_state(CPUState *cpu,
|
static void kvmppc_xive_cpu_do_synchronize_state(CPUState *cpu,
|
||||||
|
@ -127,14 +128,14 @@ static void kvmppc_xive_cpu_do_synchronize_state(CPUState *cpu,
|
||||||
{
|
{
|
||||||
XiveCpuGetState *s = arg.host_ptr;
|
XiveCpuGetState *s = arg.host_ptr;
|
||||||
|
|
||||||
kvmppc_xive_cpu_get_state(s->tctx, &s->err);
|
s->ret = kvmppc_xive_cpu_get_state(s->tctx, s->errp);
|
||||||
}
|
}
|
||||||
|
|
||||||
void kvmppc_xive_cpu_synchronize_state(XiveTCTX *tctx, Error **errp)
|
int kvmppc_xive_cpu_synchronize_state(XiveTCTX *tctx, Error **errp)
|
||||||
{
|
{
|
||||||
XiveCpuGetState s = {
|
XiveCpuGetState s = {
|
||||||
.tctx = tctx,
|
.tctx = tctx,
|
||||||
.err = NULL,
|
.errp = errp,
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -143,10 +144,7 @@ void kvmppc_xive_cpu_synchronize_state(XiveTCTX *tctx, Error **errp)
|
||||||
run_on_cpu(tctx->cs, kvmppc_xive_cpu_do_synchronize_state,
|
run_on_cpu(tctx->cs, kvmppc_xive_cpu_do_synchronize_state,
|
||||||
RUN_ON_CPU_HOST_PTR(&s));
|
RUN_ON_CPU_HOST_PTR(&s));
|
||||||
|
|
||||||
if (s.err) {
|
return s.ret;
|
||||||
error_propagate(errp, s.err);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int kvmppc_xive_cpu_connect(XiveTCTX *tctx, Error **errp)
|
int kvmppc_xive_cpu_connect(XiveTCTX *tctx, Error **errp)
|
||||||
|
|
|
@ -488,7 +488,7 @@ void xive_tctx_ipb_update(XiveTCTX *tctx, uint8_t ring, uint8_t ipb);
|
||||||
int kvmppc_xive_source_reset_one(XiveSource *xsrc, int srcno, Error **errp);
|
int kvmppc_xive_source_reset_one(XiveSource *xsrc, int srcno, Error **errp);
|
||||||
void kvmppc_xive_source_set_irq(void *opaque, int srcno, int val);
|
void kvmppc_xive_source_set_irq(void *opaque, int srcno, int val);
|
||||||
int kvmppc_xive_cpu_connect(XiveTCTX *tctx, Error **errp);
|
int kvmppc_xive_cpu_connect(XiveTCTX *tctx, Error **errp);
|
||||||
void kvmppc_xive_cpu_synchronize_state(XiveTCTX *tctx, Error **errp);
|
int kvmppc_xive_cpu_synchronize_state(XiveTCTX *tctx, Error **errp);
|
||||||
int kvmppc_xive_cpu_get_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);
|
int kvmppc_xive_cpu_set_state(XiveTCTX *tctx, Error **errp);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue