Add libkvm interface to get/set the mpstate. Signed-off-by: Marcelo Tosatti <[EMAIL PROTECTED]>
Index: marcelo/git/kvm-userspace.io/libkvm/libkvm.c =================================================================== --- marcelo.orig/git/kvm-userspace.io/libkvm/libkvm.c +++ marcelo/git/kvm-userspace.io/libkvm/libkvm.c @@ -776,6 +776,32 @@ int kvm_set_sregs(kvm_context_t kvm, int return ioctl(kvm->vcpu_fd[vcpu], KVM_SET_SREGS, sregs); } +int kvm_get_mpstate(kvm_context_t kvm, int vcpu, int *mpstate) +{ + int r; + +#ifdef KVM_CAP_MP_STATE + r = ioctl(kvm->fd, KVM_CHECK_EXTENSION, KVM_CAP_MP_STATE); + if (r > 0) + return ioctl(kvm->vcpu_fd[vcpu], KVM_GET_MP_STATE, mpstate); +#endif + return -1; +} + +int kvm_set_mpstate(kvm_context_t kvm, int vcpu, int *mpstate) +{ + int r; + +#ifdef KVM_CAP_MP_STATE + r = ioctl(kvm->fd, KVM_CHECK_EXTENSION, KVM_CAP_MP_STATE); + if (r > 0) + return ioctl(kvm->vcpu_fd[vcpu], KVM_SET_MP_STATE, mpstate); +#endif + return -1; +} + + + static int handle_mmio(kvm_context_t kvm, struct kvm_run *kvm_run) { unsigned long addr = kvm_run->mmio.phys_addr; Index: marcelo/git/kvm-userspace.io/libkvm/libkvm.h =================================================================== --- marcelo.orig/git/kvm-userspace.io/libkvm/libkvm.h +++ marcelo/git/kvm-userspace.io/libkvm/libkvm.h @@ -301,6 +301,18 @@ int kvm_get_sregs(kvm_context_t kvm, int int kvm_set_sregs(kvm_context_t kvm, int vcpu, struct kvm_sregs *regs); /*! + * * \brief Read VCPU MP state + * + */ +int kvm_get_mpstate(kvm_context_t kvm, int vcpu, int *mpstate); + +/*! + * * \brief Write VCPU MP state + * + */ +int kvm_set_mpstate(kvm_context_t kvm, int vcpu, int *mpstate); + +/*! * \brief Simulate an external vectored interrupt * * This allows you to simulate an external vectored interrupt. -- ------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Register now and save $200. Hurry, offer ends at 11:59 p.m., Monday, April 7! Use priority code J8TLD2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone _______________________________________________ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel