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

Re: [Xen-devel] [PATCH for-4.7] xen/nested_p2m: Don't walk EPT tables with a regular PT walker



On 13/05/16 16:00, Andrew Cooper wrote:
> On 13/05/16 15:13, Jan Beulich wrote:
>>>>> On 13.05.16 at 15:33, <andrew.cooper3@xxxxxxxxxx> wrote:
>>> --- a/xen/arch/x86/mm/hap/nested_hap.c
>>> +++ b/xen/arch/x86/mm/hap/nested_hap.c
>>> @@ -141,7 +141,7 @@ nestedhap_fix_p2m(struct vcpu *v, struct p2m_domain 
>>> *p2m,
>>>   * walk is successful, the translated value is returned in
>>>   * L1_gpa. The result value tells what to do next.
>>>   */
>>> -static int
>>> +int
>>>  nestedhap_walk_L1_p2m(struct vcpu *v, paddr_t L2_gpa, paddr_t *L1_gpa,
>>>                        unsigned int *page_order, uint8_t *p2m_acc,
>> The function becoming non-static widens the visibility of the bogus
>> uint8_t here (should be p2m_access_t afaics). Granted this isn't an
>> issue the patch introduces, but I would prefer this to be adjusted
>> prior to dropping the static here...
>>
>>> --- a/xen/arch/x86/mm/p2m.c
>>> +++ b/xen/arch/x86/mm/p2m.c
>>> @@ -2081,20 +2081,29 @@ unsigned long paging_gva_to_gfn(struct vcpu *v,
>>>  
>>>      if ( is_hvm_vcpu(v) && paging_mode_hap(v->domain) && 
>>> nestedhvm_is_n2(v) )
>>>      {
>>> -        unsigned long gfn;
>>> +        unsigned long l2_gfn, l1_gfn;
>>>          struct p2m_domain *p2m;
>>>          const struct paging_mode *mode;
>>> -        uint32_t pfec_21 = *pfec;
>>>          uint64_t np2m_base = nhvm_vcpu_p2m_base(v);
>>> +        uint8_t l1_p2ma;
>> ... avoiding proliferation of the quirkiness.
> Will do.

It turns out that this is currently hard, due to a tangle of header files.

I will put this on my TODO list, but this point, I have more important
things to do for 4.7.

~Andrew

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