Re: [PATCH] KVM: VMX: Add instruction rdtscp support for guest

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

 



On Wednesday 09 December 2009 17:54:46 Avi Kivity wrote:
> On 12/09/2009 11:11 AM, Sheng Yang wrote:
> > Before enabling, execution of "rdtscp" in guest would result in #UD.
> >
> > Signed-off-by: Sheng Yang<sheng@xxxxxxxxxxxxxxx>
> > ---
> >   arch/x86/include/asm/vmx.h |    1 +
> >   arch/x86/kvm/vmx.c         |    3 ++-
> >   2 files changed, 3 insertions(+), 1 deletions(-)
> >
> > diff --git a/arch/x86/include/asm/vmx.h b/arch/x86/include/asm/vmx.h
> > index 2b49454..8c39320 100644
> > --- a/arch/x86/include/asm/vmx.h
> > +++ b/arch/x86/include/asm/vmx.h
> > @@ -53,6 +53,7 @@
> >    */
> >   #define SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES 0x00000001
> >   #define SECONDARY_EXEC_ENABLE_EPT               0x00000002
> > +#define SECONDARY_EXEC_RDTSCP			0x00000008
> >   #define SECONDARY_EXEC_ENABLE_VPID              0x00000020
> >   #define SECONDARY_EXEC_WBINVD_EXITING		0x00000040
> >   #define SECONDARY_EXEC_UNRESTRICTED_GUEST	0x00000080
> > diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
> > index 9a0a2cf..e1a2ed2 100644
> > --- a/arch/x86/kvm/vmx.c
> > +++ b/arch/x86/kvm/vmx.c
> > @@ -1243,7 +1243,8 @@ static __init int setup_vmcs_config(struct
> > vmcs_config *vmcs_conf) SECONDARY_EXEC_ENABLE_VPID |
> >   			SECONDARY_EXEC_ENABLE_EPT |
> >   			SECONDARY_EXEC_UNRESTRICTED_GUEST |
> > -			SECONDARY_EXEC_PAUSE_LOOP_EXITING;
> > +			SECONDARY_EXEC_PAUSE_LOOP_EXITING |
> > +			SECONDARY_EXEC_RDTSCP;
> >   		if (adjust_vmx_controls(min2, opt2,
> >   					MSR_IA32_VMX_PROCBASED_CTLS2,
> >   					&_cpu_based_2nd_exec_control)<  0)
> 
> Need to save/restore MSR_TSC_AUX (but only if rdtscp in cpuid), support
> MSR_TSC_AUX in get/save, and expose via GET_SUPPORTED_CPUID (only on
> processors which support the feature).
 
Yeah, I realize this later last night... Though it passed my testing program.

Would update it soon.

-- 
regards
Yang, Sheng
--
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