Fix build.
authorsos22@douglas.cl.cam.ac.uk <sos22@douglas.cl.cam.ac.uk>
Sat, 28 Jan 2006 10:09:18 +0000 (11:09 +0100)
committersos22@douglas.cl.cam.ac.uk <sos22@douglas.cl.cam.ac.uk>
Sat, 28 Jan 2006 10:09:18 +0000 (11:09 +0100)
Signed-off-by: Steven Smith, sos22@cam.ac.uk
linux-2.6-xen-sparse/arch/xen/x86_64/mm/init.c

index fb614ef4532801de763ec68bd422992d57e07408..ca89138f44a020d009bba1a4451f2456e5bb9c3c 100644 (file)
@@ -93,14 +93,11 @@ static void early_make_mmu_page_readonly(void *va)
                BUG();
 }
 
-void make_mmu_page_readonly(void *va)
+void make_page_readonly(void *va)
 {
        pgd_t *pgd; pud_t *pud; pmd_t *pmd; pte_t pte, *ptep;
        unsigned long addr = (unsigned long) va;
 
-       if (xen_feature(writable_mmu_structures))
-               return;
-
        pgd = pgd_offset_k(addr);
        pud = pud_offset(pgd, addr);
        pmd = pmd_offset(pud, addr);
@@ -111,16 +108,20 @@ void make_mmu_page_readonly(void *va)
                xen_l1_entry_update(ptep, pte); /* fallback */
 
        if ((addr >= VMALLOC_START) && (addr < VMALLOC_END))
-               make_mmu_page_readonly(__va(pte_pfn(pte) << PAGE_SHIFT));
+               make_page_readonly(__va(pte_pfn(pte) << PAGE_SHIFT));
 }
 
-void make_mmu_page_writable(void *va)
+void make_mmu_page_readonly(void *va)
 {
-       pgd_t *pgd; pud_t *pud; pmd_t *pmd; pte_t pte, *ptep;
-       unsigned long addr = (unsigned long) va;
-
        if (xen_feature(writable_mmu_structures))
                return;
+       make_page_readonly(va);
+}
+
+void make_page_writable(void *va)
+{
+       pgd_t *pgd; pud_t *pud; pmd_t *pmd; pte_t pte, *ptep;
+       unsigned long addr = (unsigned long) va;
 
        pgd = pgd_offset_k(addr);
        pud = pud_offset(pgd, addr);
@@ -132,30 +133,46 @@ void make_mmu_page_writable(void *va)
                xen_l1_entry_update(ptep, pte); /* fallback */
 
        if ((addr >= VMALLOC_START) && (addr < VMALLOC_END))
-               make_mmu_page_writable(__va(pte_pfn(pte) << PAGE_SHIFT));
+               make_page_writable(__va(pte_pfn(pte) << PAGE_SHIFT));
 }
 
-void make_mmu_pages_readonly(void *va, unsigned nr)
+void make_mmu_page_writable(void *va)
 {
        if (xen_feature(writable_mmu_structures))
                return;
+       make_page_writable(va);
+}
 
+void make_pages_readonly(void *va, unsigned nr)
+{
        while (nr-- != 0) {
-               make_mmu_page_readonly(va);
+               make_page_readonly(va);
                va = (void*)((unsigned long)va + PAGE_SIZE);
        }
 }
 
-void make_mmu_pages_writable(void *va, unsigned nr)
+void make_mmu_pages_readonly(void *va, unsigned nr)
 {
        if (xen_feature(writable_mmu_structures))
                return;
+       make_pages_readonly(va, nr);
+}
+
+void make_pages_writable(void *va, unsigned nr)
+{
        while (nr-- != 0) {
-               make_mmu_page_writable(va);
+               make_page_writable(va);
                va = (void*)((unsigned long)va + PAGE_SIZE);
        }
 }
 
+void make_mmu_pages_writable(void *va, unsigned nr)
+{
+       if (xen_feature(writable_mmu_structures))
+               return;
+       make_pages_writable(va, nr);
+}
+
 /*
  * NOTE: pagetable_init alloc all the fixmap pagetables contiguous on the
  * physical space so we can cache the place of the first one and move