KVM: prepare for KVM_(S|G)ET_MP_STATE on other architectures

Highlight the aspects of the ioctls that are actually specific to x86
and ia64. As defined restrictions (irqchip) and mp states may not apply
to other architectures, these parts are flagged to belong to x86 and ia64.

In preparation for the use of KVM_(S|G)ET_MP_STATE by s390.
Fix a spelling error (KVM_SET_MP_STATE vs. KVM_SET_MPSTATE) on the way.

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>
This commit is contained in:
David Hildenbrand 2014-05-12 16:05:13 +02:00 committed by Christian Borntraeger
parent 7a42fdc20f
commit 0b4820d6d8
2 changed files with 14 additions and 10 deletions

View File

@ -988,18 +988,20 @@ uniprocessor guests).
Possible values are: Possible values are:
- KVM_MP_STATE_RUNNABLE: the vcpu is currently running - KVM_MP_STATE_RUNNABLE: the vcpu is currently running [x86, ia64]
- KVM_MP_STATE_UNINITIALIZED: the vcpu is an application processor (AP) - KVM_MP_STATE_UNINITIALIZED: the vcpu is an application processor (AP)
which has not yet received an INIT signal which has not yet received an INIT signal [x86,
ia64]
- KVM_MP_STATE_INIT_RECEIVED: the vcpu has received an INIT signal, and is - KVM_MP_STATE_INIT_RECEIVED: the vcpu has received an INIT signal, and is
now ready for a SIPI now ready for a SIPI [x86, ia64]
- KVM_MP_STATE_HALTED: the vcpu has executed a HLT instruction and - KVM_MP_STATE_HALTED: the vcpu has executed a HLT instruction and
is waiting for an interrupt is waiting for an interrupt [x86, ia64]
- KVM_MP_STATE_SIPI_RECEIVED: the vcpu has just received a SIPI (vector - KVM_MP_STATE_SIPI_RECEIVED: the vcpu has just received a SIPI (vector
accessible via KVM_GET_VCPU_EVENTS) accessible via KVM_GET_VCPU_EVENTS) [x86, ia64]
This ioctl is only useful after KVM_CREATE_IRQCHIP. Without an in-kernel On x86 and ia64, this ioctl is only useful after KVM_CREATE_IRQCHIP. Without an
irqchip, the multiprocessing state must be maintained by userspace. in-kernel irqchip, the multiprocessing state must be maintained by userspace on
these architectures.
4.39 KVM_SET_MP_STATE 4.39 KVM_SET_MP_STATE
@ -1013,8 +1015,9 @@ Returns: 0 on success; -1 on error
Sets the vcpu's current "multiprocessing state"; see KVM_GET_MP_STATE for Sets the vcpu's current "multiprocessing state"; see KVM_GET_MP_STATE for
arguments. arguments.
This ioctl is only useful after KVM_CREATE_IRQCHIP. Without an in-kernel On x86 and ia64, this ioctl is only useful after KVM_CREATE_IRQCHIP. Without an
irqchip, the multiprocessing state must be maintained by userspace. in-kernel irqchip, the multiprocessing state must be maintained by userspace on
these architectures.
4.40 KVM_SET_IDENTITY_MAP_ADDR 4.40 KVM_SET_IDENTITY_MAP_ADDR

View File

@ -399,8 +399,9 @@ struct kvm_vapic_addr {
__u64 vapic_addr; __u64 vapic_addr;
}; };
/* for KVM_SET_MPSTATE */ /* for KVM_SET_MP_STATE */
/* not all states are valid on all architectures */
#define KVM_MP_STATE_RUNNABLE 0 #define KVM_MP_STATE_RUNNABLE 0
#define KVM_MP_STATE_UNINITIALIZED 1 #define KVM_MP_STATE_UNINITIALIZED 1
#define KVM_MP_STATE_INIT_RECEIVED 2 #define KVM_MP_STATE_INIT_RECEIVED 2