diff options
author | Michael Mueller <mimu@linux.ibm.com> | 2019-02-18 16:48:20 +0100 |
---|---|---|
committer | Christian Borntraeger <borntraeger@de.ibm.com> | 2020-02-27 19:47:11 +0100 |
commit | 201ae986ead7582f8d9506a5d11459b280b954c8 (patch) | |
tree | 9de451b176e1ef2921680c6ff52a80e262d94597 /block | |
parent | KVM: s390: protvirt: Instruction emulation (diff) | |
download | linux-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 'block')
0 files changed, 0 insertions, 0 deletions