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.
Showing the changes to include/uapi/linux (1 of 5 files). Show all
Unified · Split
| @@ -759,6 +759,7 @@ struct kvm_ppc_smmu_info { · 758 unmodified lines | ||
| 759 | 759 | #define KVM_CAP_PPC_FIXUP_HCALL 103 |
| 760 | 760 | #define KVM_CAP_PPC_ENABLE_HCALL 104 |
| 761 | 761 | #define KVM_CAP_CHECK_EXTENSION_VM 105 |
| 762 | +#define KVM_CAP_S390_USER_SIGP 106 | |
| 762 | 763 | |
| 763 | 764 | #ifdef KVM_CAP_IRQ_ROUTING |
| 764 | 765 | |