[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 06/30] s390x/tcg: STOPPED cpus can never wake up
From: |
David Hildenbrand |
Subject: |
[Qemu-devel] [PATCH v2 06/30] s390x/tcg: STOPPED cpus can never wake up |
Date: |
Thu, 28 Sep 2017 22:36:44 +0200 |
Interrupts can't wake such CPUs up. SIGP from other CPUs has to be used
to toggle the state.
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: David Hildenbrand <address@hidden>
---
target/s390x/cpu.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/target/s390x/cpu.c b/target/s390x/cpu.c
index 9c2a1e6ac8..a0b139056f 100644
--- a/target/s390x/cpu.c
+++ b/target/s390x/cpu.c
@@ -57,6 +57,12 @@ static bool s390_cpu_has_work(CPUState *cs)
{
S390CPU *cpu = S390_CPU(cs);
+ /* STOPPED cpus can never wake up */
+ if (s390_cpu_get_state(cpu) != CPU_STATE_LOAD &&
+ s390_cpu_get_state(cpu) != CPU_STATE_OPERATING) {
+ return false;
+ }
+
if (!(cs->interrupt_request & CPU_INTERRUPT_HARD)) {
return false;
}
--
2.13.5
- [Qemu-devel] [PATCH v2 00/30] s390x: SMP for TCG, David Hildenbrand, 2017/09/28
- [Qemu-devel] [PATCH v2 01/30] s390x/tcg: turn INTERRUPT_EXT into a mask, David Hildenbrand, 2017/09/28
- [Qemu-devel] [PATCH v2 02/30] s390x/tcg: cleanup service interrupt injection, David Hildenbrand, 2017/09/28
- [Qemu-devel] [PATCH v2 03/30] s390x/tcg: injection of emergency signals and external calls, David Hildenbrand, 2017/09/28
- [Qemu-devel] [PATCH v2 04/30] s390x/tcg: rework checking for deliverable interrupts, David Hildenbrand, 2017/09/28
- [Qemu-devel] [PATCH v2 05/30] s390x/tcg: take care of external interrupt subclasses, David Hildenbrand, 2017/09/28
- [Qemu-devel] [PATCH v2 06/30] s390x/tcg: STOPPED cpus can never wake up,
David Hildenbrand <=
- [Qemu-devel] [PATCH v2 07/30] s390x/tcg: a CPU cannot switch state due to an interrupt, David Hildenbrand, 2017/09/28
- [Qemu-devel] [PATCH v2 08/30] target/s390x: factor out handling of WAIT PSW into s390_handle_wait(), David Hildenbrand, 2017/09/28
- [Qemu-devel] [PATCH v2 09/30] s390x/tcg: handle WAIT PSWs during interrupt injection, David Hildenbrand, 2017/09/28
- [Qemu-devel] [PATCH v2 10/30] target/s390x: interpret PSW_MASK_WAIT only for TCG, David Hildenbrand, 2017/09/28
- [Qemu-devel] [PATCH v2 11/30] s390x/kvm: pass ipb directly into handle_sigp(), David Hildenbrand, 2017/09/28
- [Qemu-devel] [PATCH v2 12/30] s390x/kvm: generalize SIGP stop and restart interrupt injection, David Hildenbrand, 2017/09/28
- [Qemu-devel] [PATCH v2 13/30] s390x/kvm: factor out storing of CPU status, David Hildenbrand, 2017/09/28
- [Qemu-devel] [PATCH v2 14/30] s390x/kvm: factor out storing of adtl CPU status, David Hildenbrand, 2017/09/28
- [Qemu-devel] [PATCH v2 15/30] s390x/kvm: drop two debug prints, David Hildenbrand, 2017/09/28
- [Qemu-devel] [PATCH v2 16/30] s390x/kvm: factor out SIGP code into sigp.c, David Hildenbrand, 2017/09/28