aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/kvm/intercept.c
diff options
context:
space:
mode:
authorMichael Mueller <mimu@linux.ibm.com>2019-02-18 16:48:20 +0100
committerChristian Borntraeger <borntraeger@de.ibm.com>2020-02-27 19:47:11 +0100
commit201ae986ead7582f8d9506a5d11459b280b954c8 (patch)
tree9de451b176e1ef2921680c6ff52a80e262d94597 /arch/s390/kvm/intercept.c
parentKVM: s390: protvirt: Instruction emulation (diff)
downloadlinux-dev-201ae986ead7582f8d9506a5d11459b280b954c8.tar.xz
linux-dev-201ae986ead7582f8d9506a5d11459b280b954c8.zip
KVM: s390: protvirt: Implement interrupt injection
This defines the necessary data structures in the SIE control block to inject machine checks,external and I/O interrupts. We first define the the interrupt injection control, which defines the next interrupt to inject. Then we define the fields that contain the payload for machine checks,external and I/O interrupts. This is then used to implement interruption injection for the following list of interruption types: - I/O (uses inject io interruption) __deliver_io - External (uses inject external interruption) __deliver_cpu_timer __deliver_ckc __deliver_emergency_signal __deliver_external_call - cpu restart (uses inject restart interruption) __deliver_restart - machine checks (uses mcic, failing address and external damage) __write_machine_check Please note that posted interrupts (GISA) are not used for protected guests as of today. The service interrupt is handled in a followup patch. Signed-off-by: Michael Mueller <mimu@linux.ibm.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com> [borntraeger@de.ibm.com: patch merging, splitting, fixing] Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Diffstat (limited to 'arch/s390/kvm/intercept.c')
0 files changed, 0 insertions, 0 deletions