diff options
author | David Hildenbrand <dahi@linux.vnet.ibm.com> | 2014-04-10 11:35:00 -0400 |
---|---|---|
committer | Christian Borntraeger <borntraeger@de.ibm.com> | 2014-07-10 08:11:17 -0400 |
commit | 6352e4d2dd9a349024a41356148eced553e1dce4 (patch) | |
tree | 2835b0ebeacb7dc0f13e4df266f38e441b08243a /Documentation | |
parent | 0b4820d6d8b6448bc9f7fac1bb1a801a53b425e1 (diff) |
KVM: s390: implement KVM_(S|G)ET_MP_STATE for user space state control
This patch
- adds s390 specific MP states to linux headers and documents them
- implements the KVM_{SET,GET}_MP_STATE ioctls
- enables KVM_CAP_MP_STATE
- allows user space to control the VCPU state on s390.
If user space sets the VCPU state using the ioctl KVM_SET_MP_STATE, we can disable
manual changing of the VCPU state and trust user space to do the right thing.
Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/virtual/kvm/api.txt | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt index 904c61cdd311..a41465bd6a5c 100644 --- a/Documentation/virtual/kvm/api.txt +++ b/Documentation/virtual/kvm/api.txt | |||
@@ -974,7 +974,7 @@ for vm-wide capabilities. | |||
974 | 4.38 KVM_GET_MP_STATE | 974 | 4.38 KVM_GET_MP_STATE |
975 | 975 | ||
976 | Capability: KVM_CAP_MP_STATE | 976 | Capability: KVM_CAP_MP_STATE |
977 | Architectures: x86, ia64 | 977 | Architectures: x86, ia64, s390 |
978 | Type: vcpu ioctl | 978 | Type: vcpu ioctl |
979 | Parameters: struct kvm_mp_state (out) | 979 | Parameters: struct kvm_mp_state (out) |
980 | Returns: 0 on success; -1 on error | 980 | Returns: 0 on success; -1 on error |
@@ -998,6 +998,12 @@ Possible values are: | |||
998 | is waiting for an interrupt [x86, ia64] | 998 | is waiting for an interrupt [x86, ia64] |
999 | - KVM_MP_STATE_SIPI_RECEIVED: the vcpu has just received a SIPI (vector | 999 | - KVM_MP_STATE_SIPI_RECEIVED: the vcpu has just received a SIPI (vector |
1000 | accessible via KVM_GET_VCPU_EVENTS) [x86, ia64] | 1000 | accessible via KVM_GET_VCPU_EVENTS) [x86, ia64] |
1001 | - KVM_MP_STATE_STOPPED: the vcpu is stopped [s390] | ||
1002 | - KVM_MP_STATE_CHECK_STOP: the vcpu is in a special error state [s390] | ||
1003 | - KVM_MP_STATE_OPERATING: the vcpu is operating (running or halted) | ||
1004 | [s390] | ||
1005 | - KVM_MP_STATE_LOAD: the vcpu is in a special load/startup state | ||
1006 | [s390] | ||
1001 | 1007 | ||
1002 | On x86 and ia64, this ioctl is only useful after KVM_CREATE_IRQCHIP. Without an | 1008 | On x86 and ia64, this ioctl is only useful after KVM_CREATE_IRQCHIP. Without an |
1003 | in-kernel irqchip, the multiprocessing state must be maintained by userspace on | 1009 | in-kernel irqchip, the multiprocessing state must be maintained by userspace on |
@@ -1007,7 +1013,7 @@ these architectures. | |||
1007 | 4.39 KVM_SET_MP_STATE | 1013 | 4.39 KVM_SET_MP_STATE |
1008 | 1014 | ||
1009 | Capability: KVM_CAP_MP_STATE | 1015 | Capability: KVM_CAP_MP_STATE |
1010 | Architectures: x86, ia64 | 1016 | Architectures: x86, ia64, s390 |
1011 | Type: vcpu ioctl | 1017 | Type: vcpu ioctl |
1012 | Parameters: struct kvm_mp_state (in) | 1018 | Parameters: struct kvm_mp_state (in) |
1013 | Returns: 0 on success; -1 on error | 1019 | Returns: 0 on success; -1 on error |