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

Re: [Xen-devel] [PATCH V4 3/4] x86/xsaves: enable xsaves/xrstors for hvm guest



On Wed, Aug 26, 2015 at 11:36:53AM +0100, Andrew Cooper wrote:
> On 25/08/15 11:54, Shuai Ruan wrote:
> > This patch enables xsaves for hvm guest, includes:
> > 1.handle xsaves vmcs init and vmexit.
> > 2.add logic to write/read the XSS msr.
> >
> > Signed-off-by: Shuai Ruan <shuai.ruan@xxxxxxxxxxxxxxx>
> 
> Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, given two
> corrections...
> 
Thanks.
> > ---
> >  xen/arch/x86/hvm/hvm.c             | 43 
> > ++++++++++++++++++++++++++++++++++++++
> >  xen/arch/x86/hvm/vmx/vmcs.c        |  6 ++++--
> >  xen/arch/x86/hvm/vmx/vmx.c         | 20 ++++++++++++++++++
> >  xen/arch/x86/xstate.c              |  4 ++--
> >  xen/include/asm-x86/hvm/vmx/vmcs.h |  7 +++++++
> >  xen/include/asm-x86/hvm/vmx/vmx.h  |  2 ++
> >  xen/include/asm-x86/xstate.h       |  1 +
> >  7 files changed, 79 insertions(+), 4 deletions(-)
> >
> > diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
> > index dc444ac..57612de 100644
> > --- a/xen/arch/x86/hvm/hvm.c
> > +++ b/xen/arch/x86/hvm/hvm.c
> > @@ -4540,6 +4540,33 @@ void hvm_cpuid(unsigned int input, unsigned int 
> > *eax, unsigned int *ebx,
> >                      *ebx = _eax + _ebx;
> >              }
> >          }
> > +        if ( count == 1 )
> > +        {
> > +            if ( cpu_has_xsaves )
> > +            {
> > +                *ebx = XSTATE_AREA_MIN_SIZE;
> > +                if ( v->arch.xcr0 | v->arch.msr_ia32_xss )
> > +                    for ( sub_leaf = 2; sub_leaf < 63; sub_leaf++ )
> > +                    {
> > +                        if ( !((v->arch.xcr0 | v->arch.msr_ia32_xss)
> > +                      & (1ULL << sub_leaf)) )
> 
> Stray hard tabs.
> 
Ok.
> > @@ -4771,6 +4804,16 @@ int hvm_msr_write_intercept(unsigned int msr, 
> > uint64_t msr_content,
> >             return X86EMUL_EXCEPTION;
> >          break;
> >  
> > +    case MSR_IA32_XSS:
> > +   /*
> > +    * skylake only support bit 8 , but it is
> > +    * not support in xen.
> > +    */
> 
> I would alter this comment to
> 
> /* No XSS features currently supported for guests. */
> 
> The skylake bits are covered by cpu_has_xsaves.
> 
> ~Andrew
> 
Ok.
> _______________________________________________
> Xen-devel mailing list
Thanks for your reviwe,Andrew
> Xen-devel@xxxxxxxxxxxxx
> http://lists.xen.org/xen-devel
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.