[PATCH 0/4] Extensible VCPU state IOCTL

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux