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

Re: [Xen-devel] [PATCH v10 01/11] x86/cpu: Introduce vmce_save_vcpu_ctxt_one() func



On Jo, 2018-07-05 at 08:41 +0000, Paul Durrant wrote:
> > 
> > -----Original Message-----
> > From: Alexandru Isaila [mailto:aisaila@xxxxxxxxxxxxxxx]
> > Sent: 04 July 2018 14:32
> > To: xen-devel@xxxxxxxxxxxxx
> > Cc: Ian Jackson <Ian.Jackson@xxxxxxxxxx>; Wei Liu <wei.liu2@citrix.
> > com>;
> > jbeulich@xxxxxxxx; Andrew Cooper <Andrew.Cooper3@xxxxxxxxxx>; Paul
> > Durrant <Paul.Durrant@xxxxxxxxxx>; Alexandru Isaila
> > <aisaila@xxxxxxxxxxxxxxx>
> > Subject: [PATCH v10 01/11] x86/cpu: Introduce
> > vmce_save_vcpu_ctxt_one()
> > func
> > 
> > This is used to save data from a single instance.
> > 
> > Signed-off-by: Alexandru Isaila <aisaila@xxxxxxxxxxxxxxx>
> > 
> > ---
> > Changes since V9:
> >     - Change return of the save_one func to return hvm_save_entry.
> > ---
> >  xen/arch/x86/cpu/mcheck/vmce.c | 21 +++++++++++++--------
> >  1 file changed, 13 insertions(+), 8 deletions(-)
> > 
> > diff --git a/xen/arch/x86/cpu/mcheck/vmce.c
> > b/xen/arch/x86/cpu/mcheck/vmce.c
> > index e07cd2f..8a1fbfc 100644
> > --- a/xen/arch/x86/cpu/mcheck/vmce.c
> > +++ b/xen/arch/x86/cpu/mcheck/vmce.c
> > @@ -349,6 +349,18 @@ int vmce_wrmsr(uint32_t msr, uint64_t val)
> >      return ret;
> >  }
> > 
> > +static int vmce_save_vcpu_ctxt_one(struct vcpu *v,
> > hvm_domain_context_t *h)
> > + {
> > +    struct hvm_vmce_vcpu ctxt;
> > +
> Not my call, but I'd feel more comfortable with memsetting ctxt to
> zero here...

If there will be a new version I will add the memset to 0

Alex
> 
> > 
> > +    ctxt.caps = v->arch.vmce.mcg_cap;
> > +    ctxt.mci_ctl2_bank0 = v->arch.vmce.bank[0].mci_ctl2;
> > +    ctxt.mci_ctl2_bank1 = v->arch.vmce.bank[1].mci_ctl2;
> > +    ctxt.mcg_ext_ctl = v->arch.vmce.mcg_ext_ctl;
> > +
> > +    return hvm_save_entry(VMCE_VCPU, v->vcpu_id, h, &ctxt);
> > + }
> > +
> >  static int vmce_save_vcpu_ctxt(struct domain *d,
> > hvm_domain_context_t
> > *h)
> >  {
> >      struct vcpu *v;
> > @@ -356,14 +368,7 @@ static int vmce_save_vcpu_ctxt(struct domain
> > *d,
> > hvm_domain_context_t *h)
> > 
> >      for_each_vcpu ( d, v )
> >      {
> ...because it used to be implicit in the initializer here.
> 
>   Paul
> 
> > 
> > -        struct hvm_vmce_vcpu ctxt = {
> > -            .caps = v->arch.vmce.mcg_cap,
> > -            .mci_ctl2_bank0 = v->arch.vmce.bank[0].mci_ctl2,
> > -            .mci_ctl2_bank1 = v->arch.vmce.bank[1].mci_ctl2,
> > -            .mcg_ext_ctl = v->arch.vmce.mcg_ext_ctl,
> > -        };
> > -
> > -        err = hvm_save_entry(VMCE_VCPU, v->vcpu_id, h, &ctxt);
> > +        err = vmce_save_vcpu_ctxt_one(v, h);
> >          if ( err )
> >              break;
> >      }
> > --
> > 2.7.4
> 
> ________________________
> This email was scanned by Bitdefender
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

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