From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: [PATCH v2 6/6] x86/P2M: cleanup Date: Tue, 22 Apr 2014 13:37:22 +0100 Message-ID: <53566282.3030002@citrix.com> References: <53567B1C020000780000AB8C@nat28.tlf.novell.com> <53567D6C020000780000ABDE@nat28.tlf.novell.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============5945818913445279668==" Return-path: Received: from mail6.bemta4.messagelabs.com ([85.158.143.247]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1WcZx5-0008LK-Gx for xen-devel@lists.xenproject.org; Tue, 22 Apr 2014 12:37:31 +0000 In-Reply-To: <53567D6C020000780000ABDE@nat28.tlf.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Jan Beulich Cc: Kevin Tian , Keir Fraser , Jun Nakajima , Tim Deegan , Eddie Dong , suravee.suthikulpanit@amd.com, xen-devel , Boris Ostrovsky List-Id: xen-devel@lists.xenproject.org --===============5945818913445279668== Content-Type: multipart/alternative; boundary="------------020803070401040802020403" --------------020803070401040802020403 Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit On 22/04/14 13:32, Jan Beulich wrote: > - don't abuse __PAGE_HYPERVISOR > - don't use bogus constructs like mfn_x(_mfn()) > > Signed-off-by: Jan Beulich Reviewed-by: Andrew Cooper > > --- a/xen/arch/x86/mm/p2m-pt.c > +++ b/xen/arch/x86/mm/p2m-pt.c > @@ -193,7 +193,7 @@ p2m_next_level(struct p2m_domain *p2m, v > return -ENOMEM; > > new_entry = l1e_from_pfn(mfn_x(page_to_mfn(pg)), > - __PAGE_HYPERVISOR | _PAGE_USER); > + P2M_BASE_FLAGS | _PAGE_RW); > > switch ( type ) { > case PGT_l3_page_table: > @@ -229,7 +229,7 @@ p2m_next_level(struct p2m_domain *p2m, v > flags = l1e_get_flags(*p2m_entry); > pfn = l1e_get_pfn(*p2m_entry); > > - l1_entry = map_domain_page(mfn_x(page_to_mfn(pg))); > + l1_entry = __map_domain_page(pg); > for ( i = 0; i < L2_PAGETABLE_ENTRIES; i++ ) > { > new_entry = l1e_from_pfn(pfn + (i * L1_PAGETABLE_ENTRIES), flags); > @@ -238,7 +238,7 @@ p2m_next_level(struct p2m_domain *p2m, v > } > unmap_domain_page(l1_entry); > new_entry = l1e_from_pfn(mfn_x(page_to_mfn(pg)), > - __PAGE_HYPERVISOR|_PAGE_USER); //disable PSE > + P2M_BASE_FLAGS | _PAGE_RW); /* disable PSE */ > p2m_add_iommu_flags(&new_entry, 2, IOMMUF_readable|IOMMUF_writable); > p2m->write_p2m_entry(p2m, gfn, p2m_entry, new_entry, 3); > } > @@ -273,7 +273,7 @@ p2m_next_level(struct p2m_domain *p2m, v > unmap_domain_page(l1_entry); > > new_entry = l1e_from_pfn(mfn_x(page_to_mfn(pg)), > - __PAGE_HYPERVISOR|_PAGE_USER); > + P2M_BASE_FLAGS | _PAGE_RW); > p2m_add_iommu_flags(&new_entry, 1, IOMMUF_readable|IOMMUF_writable); > p2m->write_p2m_entry(p2m, gfn, p2m_entry, new_entry, 2); > } > @@ -929,7 +929,7 @@ long p2m_pt_audit_p2m(struct p2m_domain > gfn += 1 << (L4_PAGETABLE_SHIFT - PAGE_SHIFT); > continue; > } > - l3e = map_domain_page(mfn_x(_mfn(l4e_get_pfn(l4e[i4])))); > + l3e = map_domain_page(l4e_get_pfn(l4e[i4])); > for ( i3 = 0; > i3 < L3_PAGETABLE_ENTRIES; > i3++ ) > @@ -964,7 +964,7 @@ long p2m_pt_audit_p2m(struct p2m_domain > } > } > > - l2e = map_domain_page(mfn_x(_mfn(l3e_get_pfn(l3e[i3])))); > + l2e = map_domain_page(l3e_get_pfn(l3e[i3])); > for ( i2 = 0; i2 < L2_PAGETABLE_ENTRIES; i2++ ) > { > if ( !(l2e_get_flags(l2e[i2]) & _PAGE_PRESENT) ) > @@ -1000,7 +1000,7 @@ long p2m_pt_audit_p2m(struct p2m_domain > continue; > } > > - l1e = map_domain_page(mfn_x(_mfn(l2e_get_pfn(l2e[i2])))); > + l1e = map_domain_page(l2e_get_pfn(l2e[i2])); > > for ( i1 = 0; i1 < L1_PAGETABLE_ENTRIES; i1++, gfn++ ) > { > > > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > http://lists.xen.org/xen-devel --------------020803070401040802020403 Content-Type: text/html; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit
On 22/04/14 13:32, Jan Beulich wrote:
- don't abuse __PAGE_HYPERVISOR
- don't use bogus constructs like mfn_x(_mfn())

Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Andrew Cooper<andrew.cooper3@citrix.com>


--- a/xen/arch/x86/mm/p2m-pt.c
+++ b/xen/arch/x86/mm/p2m-pt.c
@@ -193,7 +193,7 @@ p2m_next_level(struct p2m_domain *p2m, v
             return -ENOMEM;
 
         new_entry = l1e_from_pfn(mfn_x(page_to_mfn(pg)),
-                                 __PAGE_HYPERVISOR | _PAGE_USER);
+                                 P2M_BASE_FLAGS | _PAGE_RW);
 
         switch ( type ) {
         case PGT_l3_page_table:
@@ -229,7 +229,7 @@ p2m_next_level(struct p2m_domain *p2m, v
         flags = l1e_get_flags(*p2m_entry);
         pfn = l1e_get_pfn(*p2m_entry);
 
-        l1_entry = map_domain_page(mfn_x(page_to_mfn(pg)));
+        l1_entry = __map_domain_page(pg);
         for ( i = 0; i < L2_PAGETABLE_ENTRIES; i++ )
         {
             new_entry = l1e_from_pfn(pfn + (i * L1_PAGETABLE_ENTRIES), flags);
@@ -238,7 +238,7 @@ p2m_next_level(struct p2m_domain *p2m, v
         }
         unmap_domain_page(l1_entry);
         new_entry = l1e_from_pfn(mfn_x(page_to_mfn(pg)),
-                                 __PAGE_HYPERVISOR|_PAGE_USER); //disable PSE
+                                 P2M_BASE_FLAGS | _PAGE_RW); /* disable PSE */
         p2m_add_iommu_flags(&new_entry, 2, IOMMUF_readable|IOMMUF_writable);
         p2m->write_p2m_entry(p2m, gfn, p2m_entry, new_entry, 3);
     }
@@ -273,7 +273,7 @@ p2m_next_level(struct p2m_domain *p2m, v
         unmap_domain_page(l1_entry);
         
         new_entry = l1e_from_pfn(mfn_x(page_to_mfn(pg)),
-                                 __PAGE_HYPERVISOR|_PAGE_USER);
+                                 P2M_BASE_FLAGS | _PAGE_RW);
         p2m_add_iommu_flags(&new_entry, 1, IOMMUF_readable|IOMMUF_writable);
         p2m->write_p2m_entry(p2m, gfn, p2m_entry, new_entry, 2);
     }
@@ -929,7 +929,7 @@ long p2m_pt_audit_p2m(struct p2m_domain 
                 gfn += 1 << (L4_PAGETABLE_SHIFT - PAGE_SHIFT);
                 continue;
             }
-            l3e = map_domain_page(mfn_x(_mfn(l4e_get_pfn(l4e[i4]))));
+            l3e = map_domain_page(l4e_get_pfn(l4e[i4]));
             for ( i3 = 0;
                   i3 < L3_PAGETABLE_ENTRIES;
                   i3++ )
@@ -964,7 +964,7 @@ long p2m_pt_audit_p2m(struct p2m_domain 
                     }
                 }
 
-                l2e = map_domain_page(mfn_x(_mfn(l3e_get_pfn(l3e[i3]))));
+                l2e = map_domain_page(l3e_get_pfn(l3e[i3]));
                 for ( i2 = 0; i2 < L2_PAGETABLE_ENTRIES; i2++ )
                 {
                     if ( !(l2e_get_flags(l2e[i2]) & _PAGE_PRESENT) )
@@ -1000,7 +1000,7 @@ long p2m_pt_audit_p2m(struct p2m_domain 
                         continue;
                     }
 
-                    l1e = map_domain_page(mfn_x(_mfn(l2e_get_pfn(l2e[i2]))));
+                    l1e = map_domain_page(l2e_get_pfn(l2e[i2]));
 
                     for ( i1 = 0; i1 < L1_PAGETABLE_ENTRIES; i1++, gfn++ )
                     {





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

--------------020803070401040802020403-- --===============5945818913445279668== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel --===============5945818913445279668==--