xen: unpin initial Xen pagetable once we're finished with it
authorJeremy Fitzhardinge <jeremy@xensource.com>
Wed, 13 Feb 2008 15:20:35 +0000 (16:20 +0100)
committerIngo Molnar <mingo@elte.hu>
Wed, 13 Feb 2008 15:20:35 +0000 (16:20 +0100)
Unpin the Xen-provided pagetable once we've finished with it, so it
doesn't cause stray references which cause later swapper_pg_dir
pagetable updates to fail.

Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Tested-by: Jody Belka <knew-linux@pimb.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/xen/enlighten.c

index de647bc6e74db4e8bf42169d5ae9c5f37a3ad4a5..49e5358f481a2fdcb5e7eec2c2d4087ec256786a 100644 (file)
@@ -798,6 +798,10 @@ static __init void xen_pagetable_setup_start(pgd_t *base)
         * added to the table can be prepared properly for Xen.
         */
        xen_write_cr3(__pa(base));
+
+       /* Unpin initial Xen pagetable */
+       pin_pagetable_pfn(MMUEXT_UNPIN_TABLE,
+                         PFN_DOWN(__pa(xen_start_info->pt_base)));
 }
 
 static __init void xen_pagetable_setup_done(pgd_t *base)