Subject: make pinning of pgd pairs transparent to callers
Patch-mainline: obsolete
-Index: head-2008-12-01/arch/x86/mm/hypervisor.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/mm/hypervisor.c 2008-12-01 12:13:06.000000000 +0100
-+++ head-2008-12-01/arch/x86/mm/hypervisor.c 2008-12-01 12:13:22.000000000 +0100
-@@ -517,26 +517,38 @@ void xen_invlpg_mask(cpumask_t *mask, un
+--- sle11-2009-03-16.orig/arch/x86/mm/hypervisor.c 2009-03-16 16:40:44.000000000 +0100
++++ sle11-2009-03-16/arch/x86/mm/hypervisor.c 2009-03-16 16:40:50.000000000 +0100
+@@ -520,26 +520,38 @@ void xen_invlpg_mask(cpumask_t *mask, un
#endif /* CONFIG_SMP */
}
void xen_set_ldt(const void *ptr, unsigned int ents)
-Index: head-2008-12-01/arch/x86/mm/init_64-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/mm/init_64-xen.c 2008-12-01 12:13:13.000000000 +0100
-+++ head-2008-12-01/arch/x86/mm/init_64-xen.c 2008-12-01 12:13:22.000000000 +0100
-@@ -629,10 +629,8 @@ void __init xen_init_pt(void)
+--- sle11-2009-03-16.orig/arch/x86/mm/init_64-xen.c 2009-03-16 16:40:37.000000000 +0100
++++ sle11-2009-03-16/arch/x86/mm/init_64-xen.c 2009-03-16 16:40:50.000000000 +0100
+@@ -641,10 +641,8 @@ void __init xen_init_pt(void)
early_make_page_readonly(level1_fixmap_pgt,
XENFEAT_writable_page_tables);
+ xen_pgd_pin(init_level4_pgt);
}
- static void __init extend_init_mapping(unsigned long tables_space)
-Index: head-2008-12-01/arch/x86/mm/pgtable-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/mm/pgtable-xen.c 2008-12-01 12:13:16.000000000 +0100
-+++ head-2008-12-01/arch/x86/mm/pgtable-xen.c 2008-12-01 12:13:22.000000000 +0100
+ static void __init find_early_table_space(unsigned long end, int use_pse,
+--- sle11-2009-03-16.orig/arch/x86/mm/pgtable-xen.c 2009-03-16 16:40:44.000000000 +0100
++++ sle11-2009-03-16/arch/x86/mm/pgtable-xen.c 2009-03-16 16:40:50.000000000 +0100
@@ -347,19 +347,13 @@ static void __pgd_pin(pgd_t *pgd)
{
pgd_walk(pgd, PAGE_KERNEL_RO);
pgd_walk(pgd, PAGE_KERNEL);
ClearPagePinned(virt_to_page(pgd));
}
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/hypervisor.h
-===================================================================
---- head-2008-12-01.orig/include/asm-x86/mach-xen/asm/hypervisor.h 2008-12-01 12:13:06.000000000 +0100
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/hypervisor.h 2008-12-01 12:13:22.000000000 +0100
+--- sle11-2009-03-16.orig/include/asm-x86/mach-xen/asm/hypervisor.h 2009-03-16 16:40:37.000000000 +0100
++++ sle11-2009-03-16/include/asm-x86/mach-xen/asm/hypervisor.h 2009-03-16 16:40:50.000000000 +0100
@@ -95,8 +95,8 @@ void xen_l1_entry_update(pte_t *ptr, pte
void xen_l2_entry_update(pmd_t *ptr, pmd_t val);
void xen_l3_entry_update(pud_t *ptr, pud_t val); /* x86_64/PAE */