spapr/rtas: modify spapr_rtas_register() to remove RTAS handlers
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> Message-Id: <20190321144914.19934-9-clg@kaod.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
7cbf3f113a
commit
64db6c70dc
|
@ -404,7 +404,7 @@ void spapr_rtas_register(int token, const char *name, spapr_rtas_fn fn)
|
||||||
|
|
||||||
token -= RTAS_TOKEN_BASE;
|
token -= RTAS_TOKEN_BASE;
|
||||||
|
|
||||||
assert(!rtas_table[token].name);
|
assert(!name || !rtas_table[token].name);
|
||||||
|
|
||||||
rtas_table[token].name = name;
|
rtas_table[token].name = name;
|
||||||
rtas_table[token].fn = fn;
|
rtas_table[token].fn = fn;
|
||||||
|
|
|
@ -675,6 +675,10 @@ typedef void (*spapr_rtas_fn)(PowerPCCPU *cpu, SpaprMachineState *sm,
|
||||||
uint32_t nargs, target_ulong args,
|
uint32_t nargs, target_ulong args,
|
||||||
uint32_t nret, target_ulong rets);
|
uint32_t nret, target_ulong rets);
|
||||||
void spapr_rtas_register(int token, const char *name, spapr_rtas_fn fn);
|
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,
|
target_ulong spapr_rtas_call(PowerPCCPU *cpu, SpaprMachineState *sm,
|
||||||
uint32_t token, uint32_t nargs, target_ulong args,
|
uint32_t token, uint32_t nargs, target_ulong args,
|
||||||
uint32_t nret, target_ulong rets);
|
uint32_t nret, target_ulong rets);
|
||||||
|
|
Loading…
Reference in New Issue