[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-ppc] [PULL 26/26] hw/ppc/spapr: Halt CPU when powering off via RTA
From: |
David Gibson |
Subject: |
[Qemu-ppc] [PULL 26/26] hw/ppc/spapr: Halt CPU when powering off via RTAS call |
Date: |
Thu, 18 Feb 2016 15:18:47 +1100 |
From: Thomas Huth <address@hidden>
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 <address@hidden>
Tested-by: Andrew Jones <address@hidden>
Signed-off-by: David Gibson <address@hidden>
---
hw/ppc/spapr_rtas.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/hw/ppc/spapr_rtas.c b/hw/ppc/spapr_rtas.c
index 07ad672..b7c5ebd 100644
--- a/hw/ppc/spapr_rtas.c
+++ b/hw/ppc/spapr_rtas.c
@@ -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);
}
--
2.5.0
- [Qemu-ppc] [PULL 03/26] target-ppc: Include missing MMU models for SDR1 in info registers, (continued)
- [Qemu-ppc] [PULL 03/26] target-ppc: Include missing MMU models for SDR1 in info registers, David Gibson, 2016/02/17
- [Qemu-ppc] [PULL 17/26] cuda: port POWERDOWN command to new framework, David Gibson, 2016/02/17
- [Qemu-ppc] [PULL 16/26] cuda: port SET_DEVICE_LIST command to new framework, David Gibson, 2016/02/17
- [Qemu-ppc] [PULL 12/26] cuda: add a framework to handle commands, David Gibson, 2016/02/17
- [Qemu-ppc] [PULL 25/26] pseries: Include missing pseries-2.5 compat properties in pseries-2.4, David Gibson, 2016/02/17
- [Qemu-ppc] [PULL 18/26] cuda: port RESET_SYSTEM command to new framework, David Gibson, 2016/02/17
- [Qemu-ppc] [PULL 24/26] cuda: remove CUDA_GET_SET_IIC/CUDA_COMBINED_FORMAT_IIC commands, David Gibson, 2016/02/17
- [Qemu-ppc] [PULL 02/26] target-ppc: Remove unused kvmppc_update_sdr1() stub, David Gibson, 2016/02/17
- [Qemu-ppc] [PULL 11/26] hw/ppc/spapr: Implement the h_set_xdabr hypercall, David Gibson, 2016/02/17
- [Qemu-ppc] [PULL 21/26] cuda: port GET_TIME command to new framework, David Gibson, 2016/02/17
- [Qemu-ppc] [PULL 26/26] hw/ppc/spapr: Halt CPU when powering off via RTAS call,
David Gibson <=
- [Qemu-ppc] [PULL 22/26] cuda: port SET_TIME command to new framework, David Gibson, 2016/02/17
- [Qemu-ppc] [PULL 20/26] cuda: port SET_POWER_MESSAGES command to new framework, David Gibson, 2016/02/17
- [Qemu-ppc] [PULL 06/26] pseries: Move hash page table allocation to reset time, David Gibson, 2016/02/17
- [Qemu-ppc] [PULL 14/26] cuda: port AUTOPOLL command to new framework, David Gibson, 2016/02/17
- [Qemu-ppc] [PULL 04/26] pseries: Simplify handling of the hash page table fd, David Gibson, 2016/02/17
- Re: [Qemu-ppc] [PULL 00/26] ppc-for-2.6 queue 20160218, Peter Maydell, 2016/02/18