Message ID | 20190107183946.7230-9-clg@kaod.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | spapr: add KVM support to the XIVE interrupt mode | expand |
On 08/01/2019 05:39, Cédric Le Goater wrote: > Removing RTAS handlers will become necessary when the new pseries > machine supporting multiple interrupt mode is introduced. > > Signed-off-by: Cédric Le Goater <clg@kaod.org> > --- > include/hw/ppc/spapr.h | 4 ++++ > hw/ppc/spapr_rtas.c | 2 +- > 2 files changed, 5 insertions(+), 1 deletion(-) > > diff --git a/include/hw/ppc/spapr.h b/include/hw/ppc/spapr.h > index 9e01a5a12e4a..9a6d015b9cf5 100644 > --- a/include/hw/ppc/spapr.h > +++ b/include/hw/ppc/spapr.h > @@ -657,6 +657,10 @@ typedef void (*spapr_rtas_fn)(PowerPCCPU *cpu, sPAPRMachineState *sm, > uint32_t nargs, target_ulong args, > uint32_t nret, target_ulong rets); > void spapr_rtas_register(int token, const char *name, spapr_rtas_fn fn); > +static inline void spapr_rtas_unregister(int token) > +{ > + spapr_rtas_register(token, NULL, NULL); > +} The new helper is not used anywhere. > target_ulong spapr_rtas_call(PowerPCCPU *cpu, sPAPRMachineState *sm, > uint32_t token, uint32_t nargs, target_ulong args, > uint32_t nret, target_ulong rets); > diff --git a/hw/ppc/spapr_rtas.c b/hw/ppc/spapr_rtas.c > index d6a0952154ac..e005d5d08151 100644 > --- a/hw/ppc/spapr_rtas.c > +++ b/hw/ppc/spapr_rtas.c > @@ -404,7 +404,7 @@ void spapr_rtas_register(int token, const char *name, spapr_rtas_fn fn) > > token -= RTAS_TOKEN_BASE; > > - assert(!rtas_table[token].name); > + assert(!name || !rtas_table[token].name); but allowing name==NULL is. > > rtas_table[token].name = name; > rtas_table[token].fn = fn; >
On 1/29/19 6:09 AM, Alexey Kardashevskiy wrote: > > > On 08/01/2019 05:39, Cédric Le Goater wrote: >> Removing RTAS handlers will become necessary when the new pseries >> machine supporting multiple interrupt mode is introduced. >> >> Signed-off-by: Cédric Le Goater <clg@kaod.org> >> --- >> include/hw/ppc/spapr.h | 4 ++++ >> hw/ppc/spapr_rtas.c | 2 +- >> 2 files changed, 5 insertions(+), 1 deletion(-) >> >> diff --git a/include/hw/ppc/spapr.h b/include/hw/ppc/spapr.h >> index 9e01a5a12e4a..9a6d015b9cf5 100644 >> --- a/include/hw/ppc/spapr.h >> +++ b/include/hw/ppc/spapr.h >> @@ -657,6 +657,10 @@ typedef void (*spapr_rtas_fn)(PowerPCCPU *cpu, sPAPRMachineState *sm, >> uint32_t nargs, target_ulong args, >> uint32_t nret, target_ulong rets); >> void spapr_rtas_register(int token, const char *name, spapr_rtas_fn fn); >> +static inline void spapr_rtas_unregister(int token) >> +{ >> + spapr_rtas_register(token, NULL, NULL); >> +} > > The new helper is not used anywhere. ah yes. patch 10 should be introducing the helper in xics_kvm_disconnect() I am fixing that. Thanks, C. >> target_ulong spapr_rtas_call(PowerPCCPU *cpu, sPAPRMachineState *sm, >> uint32_t token, uint32_t nargs, target_ulong args, >> uint32_t nret, target_ulong rets); >> diff --git a/hw/ppc/spapr_rtas.c b/hw/ppc/spapr_rtas.c >> index d6a0952154ac..e005d5d08151 100644 >> --- a/hw/ppc/spapr_rtas.c >> +++ b/hw/ppc/spapr_rtas.c >> @@ -404,7 +404,7 @@ void spapr_rtas_register(int token, const char *name, spapr_rtas_fn fn) >> >> token -= RTAS_TOKEN_BASE; >> >> - assert(!rtas_table[token].name); >> + assert(!name || !rtas_table[token].name); > > > but allowing name==NULL is. > > >> >> rtas_table[token].name = name; >> rtas_table[token].fn = fn; >> >
diff --git a/include/hw/ppc/spapr.h b/include/hw/ppc/spapr.h index 9e01a5a12e4a..9a6d015b9cf5 100644 --- a/include/hw/ppc/spapr.h +++ b/include/hw/ppc/spapr.h @@ -657,6 +657,10 @@ typedef void (*spapr_rtas_fn)(PowerPCCPU *cpu, sPAPRMachineState *sm, uint32_t nargs, target_ulong args, uint32_t nret, target_ulong rets); void spapr_rtas_register(int token, const char *name, spapr_rtas_fn fn); +static inline void spapr_rtas_unregister(int token) +{ + spapr_rtas_register(token, NULL, NULL); +} target_ulong spapr_rtas_call(PowerPCCPU *cpu, sPAPRMachineState *sm, uint32_t token, uint32_t nargs, target_ulong args, uint32_t nret, target_ulong rets); diff --git a/hw/ppc/spapr_rtas.c b/hw/ppc/spapr_rtas.c index d6a0952154ac..e005d5d08151 100644 --- a/hw/ppc/spapr_rtas.c +++ b/hw/ppc/spapr_rtas.c @@ -404,7 +404,7 @@ void spapr_rtas_register(int token, const char *name, spapr_rtas_fn fn) token -= RTAS_TOKEN_BASE; - assert(!rtas_table[token].name); + assert(!name || !rtas_table[token].name); rtas_table[token].name = name; rtas_table[token].fn = fn;
Removing RTAS handlers will become necessary when the new pseries machine supporting multiple interrupt mode is introduced. Signed-off-by: Cédric Le Goater <clg@kaod.org> --- include/hw/ppc/spapr.h | 4 ++++ hw/ppc/spapr_rtas.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-)