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

Re: [Xen-devel] [V10 PATCH 10/23] PVH xen: domain create, context switch related code changes



On Thu, 25 Jul 2013 15:01:57 +0100
Tim Deegan <tim@xxxxxxx> wrote:

> At 18:59 -0700 on 23 Jul (1374605958), Mukesh Rathor wrote:
> > @@ -861,7 +865,7 @@ int arch_set_info_guest(
> >  
> >      if ( !cr3_page )
> >          rc = -EINVAL;
> > -    else if ( paging_mode_refcounts(d) )
> > +    else if ( paging_mode_refcounts(d) || is_pvh_vcpu(v) )
> 
> Isn't paging_mode_refcounts() true for all PVH vcpus/domains?  (This
> code is OK - I just want to check that I've understood what's going
> on.)

Yes it is.

> >          /* nothing */;
> >      else if ( cr3_page == v->arch.old_guest_table )
> >      {
> > @@ -893,8 +897,15 @@ int arch_set_info_guest(
> >          /* handled below */;
> >      else if ( !compat )
> >      {
> > +        /* PVH 32bitfixme. */
> > +        if ( is_pvh_vcpu(v) )
> > +        {
> > +            v->arch.cr3 = page_to_mfn(cr3_page);
> 
> Not page_to_maddr()?  I guess that with paging_mode_translate(),
> arch.cr3 doesn't actually get used.

Oops, yes, it should be page_to_maddr, and you just saved future debugging.

> > +            v->arch.hvm_vcpu.guest_cr[3] = c.nat->ctrlreg[3];
> > +        }
> > +
> >          v->arch.guest_table = pagetable_from_page(cr3_page);
> > -        if ( c.nat->ctrlreg[1] )
> > +        if ( c.nat->ctrlreg[1] && !is_pvh_vcpu(v) )
> 
> If you're respinning this patch, maybe use is_pv_vcpu() here?

Ok. 

thanks
Mukesh



_______________________________________________
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®.