[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 25.07.13 at 16:01, 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.)
> 
>>          /* 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.
> 
>> +            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?

And perhaps it would be worth rejecting non-zero CR1 values
for PVH?

Jan


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