]> xenbits.xensource.com Git - people/liuw/xen.git/commitdiff
xxx paging_init
authorWei Liu <wei.liu2@citrix.com>
Tue, 29 Jan 2019 14:40:26 +0000 (14:40 +0000)
committerWei Liu <wei.liu2@citrix.com>
Mon, 4 Feb 2019 15:46:47 +0000 (15:46 +0000)
xen/arch/x86/x86_64/mm.c

index 83d62674c044e67eab30c1e8bffcbec933ca2b14..ca575040a9975dddf83e4a7c2f85a18463f4c4be 100644 (file)
@@ -511,13 +511,18 @@ void __init paging_init(void)
         if ( !(l4e_get_flags(idle_pg_table[l4_table_offset(va)]) &
               _PAGE_PRESENT) )
         {
-            l3_pgentry_t *pl3t = alloc_xen_pagetable();
+            l3_pgentry_t *pl3t;
+            mfn_t mfn;
 
-            if ( !pl3t )
+            mfn = alloc_xen_pagetable_new();
+            if ( mfn_eq(mfn, INVALID_MFN) )
                 goto nomem;
+
+            pl3t = map_xen_pagetable_new(mfn);
             clear_page(pl3t);
             l4e_write(&idle_pg_table[l4_table_offset(va)],
-                      l4e_from_paddr(__pa(pl3t), __PAGE_HYPERVISOR_RW));
+                      l4e_from_mfn(mfn, __PAGE_HYPERVISOR_RW));
+            unmap_xen_pagetable_new(pl3t);
         }
     }