KVM: VMX: Don't intercept MSR_KERNEL_GS_BASE
authorAvi Kivity <avi@redhat.com>
Tue, 24 Feb 2009 20:26:47 +0000 (22:26 +0200)
committerAvi Kivity <avi@redhat.com>
Wed, 10 Jun 2009 08:48:21 +0000 (11:48 +0300)
commit5897297bc228fc3c85fdc421fd5c487f9a99821a
treebd66cd8b9482b8c3c38e009edc0a7a3796a0c948
parent3e7c73e9b15eab73e9cf72daf3931925da8afcff
KVM: VMX: Don't intercept MSR_KERNEL_GS_BASE

Windows 2008 accesses this MSR often on context switch intensive workloads;
since we run in guest context with the guest MSR value loaded (so swapgs can
work correctly), we can simply disable interception of rdmsr/wrmsr for this
MSR.

A complication occurs since in legacy mode, we run with the host MSR value
loaded. In this case we enable interception.  This means we need two MSR
bitmaps, one for legacy mode and one for long mode.

Signed-off-by: Avi Kivity <avi@redhat.com>
arch/x86/kvm/vmx.c