As you may have noticed, we are constantly adding IOCTLs as yet another state field has to be exchanged between kernel and user space. I was about to add one for the missing hidden NMI states (pending and masked), but Avi suggested to take this chance, inventing a more easily extensible interface. And here comes my suggestion for VCPU states. Please see patch 2 for details on this approach, patch 4 demonstrates how extensions may look like in the future. I will follow up with a patch against qemu upstream to convert kvm_arch_get/put_registers to the new interface, ie. query/set all substates via one IOCTL when available. I did not convert qemu-kvm, only added support for the NMI substate, as the corresponding code will likely by modified to use the upstream implementation anyway. Comments welcome, also suggestion for further substates to be added in this round. Jan Find this series also at git://git.kiszka.org/linux-kvm.git queues/vcpu-state Jan Kiszka (4): KVM: Reorder IOCTLs in main kvm.h KVM: Add unified KVM_GET/SET_VCPU_STATE IOCTL KVM: x86: Add support for KVM_GET/SET_VCPU_STATE KVM: x86: Add VCPU substate for NMI states arch/ia64/kvm/kvm-ia64.c | 12 ++ arch/powerpc/kvm/powerpc.c | 12 ++ arch/s390/kvm/kvm-s390.c | 12 ++ arch/x86/include/asm/kvm.h | 15 ++- arch/x86/include/asm/kvm_host.h | 2 + arch/x86/kvm/svm.c | 22 +++ arch/x86/kvm/vmx.c | 30 ++++ arch/x86/kvm/x86.c | 243 ++++++++++++++++++++--------- include/linux/kvm.h | 246 +++++++++++++++++-------------- include/linux/kvm_host.h | 5 + virt/kvm/kvm_main.c | 318 +++++++++++++++++++++++++++----------- 11 files changed, 637 insertions(+), 280 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html