]> 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)
commit6071d4263ecc07e890a3d3c33b23dbf1fb8c7dd0
treee7cb32f011945beac52d9bb3c373b57c41a52b6f
parent31504c836deea58f0d00aac6013664389576ecf7
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