]> git.baikalelectronics.ru Git - kernel.git/commit
KVM: x86: KVM_CAP_SYNC_REGS
authorKen Hofsass <hofsass@google.com>
Thu, 1 Feb 2018 00:03:36 +0000 (16:03 -0800)
committerRadim Krčmář <rkrcmar@redhat.com>
Tue, 6 Mar 2018 17:40:43 +0000 (18:40 +0100)
commit843bd92a9d1723627599636616b20d88e928f15b
treee7cb32f011945beac52d9bb3c373b57c41a52b6f
parent166560bc12a2f2a238ac43849f9e2b53da05e1c6
KVM: x86: KVM_CAP_SYNC_REGS

This commit implements an enhanced x86 version of S390
KVM_CAP_SYNC_REGS functionality. KVM_CAP_SYNC_REGS "allow[s]
userspace to access certain guest registers without having
to call SET/GET_*REGS”. This reduces ioctl overhead which
is particularly important when userspace is making synchronous
guest state modifications (e.g. when emulating and/or intercepting
instructions).

Originally implemented upstream for the S390, the x86 differences
follow:
- userspace can select the register sets to be synchronized with kvm_run
using bit-flags in the kvm_valid_registers and kvm_dirty_registers
fields.
- vcpu_events is available in addition to the regs and sregs register
sets.

Signed-off-by: Ken Hofsass <hofsass@google.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
[Removed wrapper around check for reserved kvm_valid_regs. - Radim]
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
Documentation/virtual/kvm/api.txt
arch/x86/include/uapi/asm/kvm.h
arch/x86/kvm/x86.c