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

[Xen-changelog] [PATCH] [PATCH] tools/libxc/xc_vmx_build.c broken



ChangeSet 1.1433, 2005/04/02 08:32:19+01:00, leendert@xxxxxxxxxxxxxx

        [PATCH] [PATCH] tools/libxc/xc_vmx_build.c broken
        
        xc_vmx_build pins the level 2 page table too early so that subsequent 
maps
        (like those in zap_mmio_ranges) fail and consequently xc_vmx_build 
fails.
        To solve this, this patch pins the l2pt at the end of the function when
        all memory initializations are finalized.
        
        Signed-off-by: Leendert van Doorn <leendert@xxxxxxxxxxxxxx>



 xc_vmx_build.c |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)


diff -Nru a/tools/libxc/xc_vmx_build.c b/tools/libxc/xc_vmx_build.c
--- a/tools/libxc/xc_vmx_build.c        2005-04-02 03:03:15 -05:00
+++ b/tools/libxc/xc_vmx_build.c        2005-04-02 03:03:15 -05:00
@@ -329,13 +329,6 @@
     munmap(vl1tab, PAGE_SIZE);
     munmap(vl2tab, PAGE_SIZE);
 
-    /*
-     * Pin down l2tab addr as page dir page - causes hypervisor to provide
-     * correct protection for the page
-     */ 
-    if ( pin_table(xc_handle, MMUEXT_PIN_L2_TABLE, l2tab>>PAGE_SHIFT, dom) )
-        goto error_out;
-
     if ((boot_paramsp = xc_map_foreign_range(
                xc_handle, dom, PAGE_SIZE, PROT_READ|PROT_WRITE,
                page_array[(vboot_params_start-dsi.v_start)>>PAGE_SHIFT])) == 0)
@@ -427,6 +420,13 @@
     for ( i = 0; i < MAX_VIRT_CPUS; i++ )
         shared_info->vcpu_data[i].evtchn_upcall_mask = 1;
     munmap(shared_info, PAGE_SIZE);
+
+    /*
+     * Pin down l2tab addr as page dir page - causes hypervisor to provide
+     * correct protection for the page
+     */ 
+    if ( pin_table(xc_handle, MMUEXT_PIN_L2_TABLE, l2tab>>PAGE_SHIFT, dom) )
+        goto error_out;
 
     /* Send the page update requests down to the hypervisor. */
     if ( finish_mmu_updates(xc_handle, mmu) )

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.