v3->v4: --- * uint32_t -> unsigned int for cr0_bit so it matches ctl_set/clear_bit argument (thanks Claudio) * fix double interrupt not detected because ctl0 bit was cleared in the interrupt handler v2->v3: --- * added some comments (thanks Janosch) * fix bit-mask confusion (thanks Janosch) * remove ctl_clear_bit() in call_in_wait_received() since it's handled in the interrupt cleanup already v1->v2: --- * rebase to latest master to align with Claudio's SMP changes, drop patch which adds the ext int clean up since it is already in Claudio's series * make sure ctl0 register bit is cleared When a CPU is in enabled wait, it can still receive SIGP calls from other CPUs. Since this requires some special handling in KVM, we should have tests for it. This has already revealed a KVM bug with ecall under PV, which is why this test currently fails there. Some refactoring is done as part of this series to reduce code duplication. Nico Boehr (3): s390x: smp: move sigp calls with invalid cpu address to array s390x: smp: use an array for sigp calls s390x: smp: add tests for calls in wait state s390x/smp.c | 217 +++++++++++++++++++++++++++++++++------------------- 1 file changed, 137 insertions(+), 80 deletions(-) -- 2.36.1