linux_dsm_epyc7002/arch/s390/kvm
Michael Mueller 201ae986ea 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>
2020-02-27 19:47:11 +01:00
..
diag.c KVM: s390: Do not yield when target is already running 2019-10-10 13:18:40 +02:00
gaccess.c
gaccess.h
guestdbg.c
intercept.c KVM: s390: protvirt: Instruction emulation 2020-02-27 19:47:11 +01:00
interrupt.c KVM: s390: protvirt: Implement interrupt injection 2020-02-27 19:47:11 +01:00
irq.h
Kconfig * ARM: support for SVE and Pointer Authentication in guests, PMU improvements 2019-05-17 10:33:30 -07:00
kvm-s390.c KVM: s390: protvirt: Secure memory is not mergeable 2020-02-27 19:47:11 +01:00
kvm-s390.h KVM: s390: protvirt: Add initial vm and cpu lifecycle handling 2020-02-27 19:47:11 +01:00
Makefile KVM: s390: protvirt: Add initial vm and cpu lifecycle handling 2020-02-27 19:47:11 +01:00
priv.c s390: ap: kvm: add PQAP interception for AQIC 2019-07-02 16:00:27 +02:00
pv.c KVM: s390/mm: Make pages accessible before destroying the guest 2020-02-27 19:47:11 +01:00
sigp.c
trace-s390.h
trace.h
vsie.c KVM: s390: vsie: Return correct values for Invalid CRYCB format 2019-04-29 09:01:22 +02:00