linux_dsm_epyc7002/arch/s390/kvm
David Hildenbrand 2444b352c3 KVM: s390: forward most SIGP orders to user space
Most SIGP orders are handled partially in kernel and partially in
user space. In order to:
- Get a correct SIGP SET PREFIX handler that informs user space
- Avoid race conditions between concurrently executed SIGP orders
- Serialize SIGP orders per VCPU

We need to handle all "slow" SIGP orders in user space. The remaining
ones to be handled completely in kernel are:
- SENSE
- SENSE RUNNING
- EXTERNAL CALL
- EMERGENCY SIGNAL
- CONDITIONAL EMERGENCY SIGNAL
According to the PoP, they have to be fast. They can be executed
without conflicting to the actions of other pending/concurrently
executing orders (e.g. STOP vs. START).

This patch introduces a new capability that will - when enabled -
forward all but the mentioned SIGP orders to user space. The
instruction counters in the kernel are still updated.

Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2015-01-23 13:25:37 +01:00
..
diag.c KVM: s390/cmm: Fix prefix handling for diag 10 balloon 2014-09-10 12:19:42 +02:00
gaccess.c kernel: Provide READ_ONCE and ASSIGN_ONCE 2014-12-20 16:48:59 -08:00
gaccess.h KVM: s390: Enable DAT support for TPROT handler 2014-05-30 09:39:36 +02:00
guestdbg.c KVM: s390: return -EFAULT if copy_from_user() fails 2014-05-06 14:57:59 +02:00
intercept.c KVM: s390: only one external call may be pending at a time 2015-01-23 13:25:36 +01:00
interrupt.c KVM: s390: only one external call may be pending at a time 2015-01-23 13:25:36 +01:00
irq.h KVM: s390: irq routing for adapter interrupts. 2014-03-21 13:43:00 +01:00
Kconfig KVM: Give IRQFD its own separate enabling Kconfig option 2014-08-05 14:26:28 +02:00
kvm-s390.c KVM: s390: forward most SIGP orders to user space 2015-01-23 13:25:37 +01:00
kvm-s390.h KVM: s390: only one external call may be pending at a time 2015-01-23 13:25:36 +01:00
Makefile KVM: s390: hardware support for guest debugging 2014-04-22 13:24:51 +02:00
priv.c 3.19 changes for KVM: 2014-12-18 16:05:28 -08:00
sigp.c KVM: s390: forward most SIGP orders to user space 2015-01-23 13:25:37 +01:00
trace-s390.h KVM: s390: handle stop irqs without action_bits 2015-01-23 13:25:33 +01:00
trace.h KVM: s390: interpretive execution of SIGP EXTERNAL CALL 2014-05-16 14:57:28 +02:00