|
@@ -848,6 +848,50 @@ function properly, this is the place to put them.
|
|
|
__u8 pad[64];
|
|
|
};
|
|
|
|
|
|
+4.37 KVM_GET_MP_STATE
|
|
|
+
|
|
|
+Capability: KVM_CAP_MP_STATE
|
|
|
+Architectures: x86, ia64
|
|
|
+Type: vcpu ioctl
|
|
|
+Parameters: struct kvm_mp_state (out)
|
|
|
+Returns: 0 on success; -1 on error
|
|
|
+
|
|
|
+struct kvm_mp_state {
|
|
|
+ __u32 mp_state;
|
|
|
+};
|
|
|
+
|
|
|
+Returns the vcpu's current "multiprocessing state" (though also valid on
|
|
|
+uniprocessor guests).
|
|
|
+
|
|
|
+Possible values are:
|
|
|
+
|
|
|
+ - KVM_MP_STATE_RUNNABLE: the vcpu is currently running
|
|
|
+ - KVM_MP_STATE_UNINITIALIZED: the vcpu is an application processor (AP)
|
|
|
+ which has not yet received an INIT signal
|
|
|
+ - KVM_MP_STATE_INIT_RECEIVED: the vcpu has received an INIT signal, and is
|
|
|
+ now ready for a SIPI
|
|
|
+ - KVM_MP_STATE_HALTED: the vcpu has executed a HLT instruction and
|
|
|
+ is waiting for an interrupt
|
|
|
+ - KVM_MP_STATE_SIPI_RECEIVED: the vcpu has just received a SIPI (vector
|
|
|
+ accesible via KVM_GET_VCPU_EVENTS)
|
|
|
+
|
|
|
+This ioctl is only useful after KVM_CREATE_IRQCHIP. Without an in-kernel
|
|
|
+irqchip, the multiprocessing state must be maintained by userspace.
|
|
|
+
|
|
|
+4.38 KVM_SET_MP_STATE
|
|
|
+
|
|
|
+Capability: KVM_CAP_MP_STATE
|
|
|
+Architectures: x86, ia64
|
|
|
+Type: vcpu ioctl
|
|
|
+Parameters: struct kvm_mp_state (in)
|
|
|
+Returns: 0 on success; -1 on error
|
|
|
+
|
|
|
+Sets the vcpu's current "multiprocessing state"; see KVM_GET_MP_STATE for
|
|
|
+arguments.
|
|
|
+
|
|
|
+This ioctl is only useful after KVM_CREATE_IRQCHIP. Without an in-kernel
|
|
|
+irqchip, the multiprocessing state must be maintained by userspace.
|
|
|
+
|
|
|
5. The kvm_run structure
|
|
|
|
|
|
Application code obtains a pointer to the kvm_run structure by
|