Skip to content

Commit

Permalink
hw/ppc/spapr: Halt CPU when powering off via RTAS call
Browse files Browse the repository at this point in the history
The LoPAPR specification defines the following for the RTAS
power-off call: "On successful operation, does not return".
However, the implementation in QEMU currently returns and runs
the guest CPU again for some more cycles. This caused some
trouble with the new ppc implementation of the kvm-unit-tests
recently. So let's make sure that the QEMU implementation
follows the spec, thus stop the CPU to make sure that the
RTAS call does not return to the guest anymore.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Tested-by: Andrew Jones <drjones@redhat.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
  • Loading branch information
huth authored and dgibson committed Feb 18, 2016
1 parent 1c81003 commit 8a9c1b7
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions hw/ppc/spapr_rtas.c
Expand Up @@ -113,6 +113,7 @@ static void rtas_power_off(PowerPCCPU *cpu, sPAPRMachineState *spapr,
return;
}
qemu_system_shutdown_request();
cpu_stop_current();
rtas_st(rets, 0, RTAS_OUT_SUCCESS);
}

Expand Down

0 comments on commit 8a9c1b7

Please sign in to comment.