mirror of https://github.com/xemu-project/xemu.git
ppc/xics/spapr: Fix H_IPOLL implementation
H_IPOLL takes the CPU# of the processor to poll as an argument, it doesn't operate on self. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Cédric Le Goater <clg@kaod.org> Message-Id: <20190314063855.27890-1-clg@kaod.org> Reviewed-by: Greg Kurz <groug@kaod.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
f3e971ac9b
commit
ebc184be64
|
@ -95,8 +95,15 @@ static target_ulong h_eoi(PowerPCCPU *cpu, SpaprMachineState *spapr,
|
||||||
static target_ulong h_ipoll(PowerPCCPU *cpu, SpaprMachineState *spapr,
|
static target_ulong h_ipoll(PowerPCCPU *cpu, SpaprMachineState *spapr,
|
||||||
target_ulong opcode, target_ulong *args)
|
target_ulong opcode, target_ulong *args)
|
||||||
{
|
{
|
||||||
|
ICPState *icp = xics_icp_get(XICS_FABRIC(spapr), args[0]);
|
||||||
uint32_t mfrr;
|
uint32_t mfrr;
|
||||||
uint32_t xirr = icp_ipoll(spapr_cpu_state(cpu)->icp, &mfrr);
|
uint32_t xirr;
|
||||||
|
|
||||||
|
if (!icp) {
|
||||||
|
return H_PARAMETER;
|
||||||
|
}
|
||||||
|
|
||||||
|
xirr = icp_ipoll(icp, &mfrr);
|
||||||
|
|
||||||
args[0] = xirr;
|
args[0] = xirr;
|
||||||
args[1] = mfrr;
|
args[1] = mfrr;
|
||||||
|
|
Loading…
Reference in New Issue