summaryrefslogtreecommitdiffstats
path: root/drivers/kvm/kvm.h
diff options
context:
space:
mode:
authorAnthony Liguori2007-04-23 16:17:21 +0200
committerAvi Kivity2007-05-03 09:52:31 +0200
commit7807fa6ca5af2e5660a0eb3cd90276ca0c5bdfc8 (patch)
tree8f97af3538acc40a6a72af29f31351d8f0f69296 /drivers/kvm/kvm.h
parentKVM: Allow passing 64-bit values to the emulated read/write API (diff)
downloadkernel-qcow2-linux-7807fa6ca5af2e5660a0eb3cd90276ca0c5bdfc8.tar.gz
kernel-qcow2-linux-7807fa6ca5af2e5660a0eb3cd90276ca0c5bdfc8.tar.xz
kernel-qcow2-linux-7807fa6ca5af2e5660a0eb3cd90276ca0c5bdfc8.zip
KVM: Lazy FPU support for SVM
Avoid saving and restoring the guest fpu state on every exit. This shaves ~100 cycles off the guest/host switch. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'drivers/kvm/kvm.h')
-rw-r--r--drivers/kvm/kvm.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/kvm/kvm.h b/drivers/kvm/kvm.h
index d1a90c5d76ce..61ff085df7e6 100644
--- a/drivers/kvm/kvm.h
+++ b/drivers/kvm/kvm.h
@@ -63,6 +63,7 @@
#define FX_BUF_SIZE (2 * FX_IMAGE_SIZE + FX_IMAGE_ALIGN)
#define DE_VECTOR 0
+#define NM_VECTOR 7
#define DF_VECTOR 8
#define TS_VECTOR 10
#define NP_VECTOR 11
@@ -301,6 +302,7 @@ struct kvm_vcpu {
char fx_buf[FX_BUF_SIZE];
char *host_fx_image;
char *guest_fx_image;
+ int fpu_active;
int mmio_needed;
int mmio_read_completed;