x86: convert CPA users to the new set_page_ API
[sfrench/cifs-2.6.git] / arch / x86 / mm / init_64.c
index 0fd9d7f77786193a7fc77f18e1093fa150118d84..05bb12db0b09cb065f5223bc18923c0f8b761249 100644 (file)
@@ -228,7 +228,7 @@ __meminit void *early_ioremap(unsigned long addr, unsigned long size)
                addr &= PMD_MASK;
                for (i = 0; i < pmds; i++, addr += PMD_SIZE)
                        set_pmd(pmd+i, __pmd(addr | __PAGE_KERNEL_LARGE_EXEC));
-               __flush_tlb();
+               __flush_tlb_all();
                return (void *)vaddr;
        next:
                ;
@@ -249,7 +249,7 @@ __meminit void early_iounmap(void *addr, unsigned long size)
        pmd = level2_kernel_pgt + pmd_index(vaddr);
        for (i = 0; i < pmds; i++)
                pmd_clear(pmd + i);
-       __flush_tlb();
+       __flush_tlb_all();
 }
 
 static void __meminit
@@ -317,7 +317,7 @@ static void __meminit phys_pud_init(pud_t *pud_page, unsigned long addr, unsigne
                spin_unlock(&init_mm.page_table_lock);
                unmap_low_page(pmd);
        }
-       __flush_tlb();
+       __flush_tlb_all();
 } 
 
 static void __init find_early_table_space(unsigned long end)
@@ -556,8 +556,6 @@ void free_init_pages(char *what, unsigned long begin, unsigned long end)
                init_page_count(virt_to_page(addr));
                memset((void *)(addr & ~(PAGE_SIZE-1)),
                        POISON_FREE_INITMEM, PAGE_SIZE);
-               if (addr >= __START_KERNEL_map)
-                       change_page_attr_addr(addr, 1, __pgprot(0));
                free_page(addr);
                totalram_pages++;
        }
@@ -594,13 +592,13 @@ void mark_rodata_ro(void)
        if (end <= start)
                return;
 
-       change_page_attr_addr(start, (end - start) >> PAGE_SHIFT, PAGE_KERNEL_RO);
+       set_memory_ro(start, (end - start) >> PAGE_SHIFT);
 
        printk(KERN_INFO "Write protecting the kernel read-only data: %luk\n",
               (end - start) >> 10);
 
        /*
-        * change_page_attr_addr() requires a global_flush_tlb() call after it.
+        * set_memory_*() requires a global_flush_tlb() call after it.
         * We do this after the printk so that if something went wrong in the
         * change, the printk gets out at least to give a better debug hint
         * of who is the culprit.
@@ -609,11 +607,11 @@ void mark_rodata_ro(void)
 
 #ifdef CONFIG_CPA_DEBUG
        printk("Testing CPA: undo %lx-%lx\n", start, end);
-       change_page_attr_addr(start, (end - start) >> PAGE_SHIFT, PAGE_KERNEL);
+       set_memory_rw(start, (end-start) >> PAGE_SHIFT);
        global_flush_tlb();
 
        printk("Testing CPA: again\n");
-       change_page_attr_addr(start, (end - start) >> PAGE_SHIFT, PAGE_KERNEL_RO);
+       set_memory_ro(start, (end-start) >> PAGE_SHIFT);
        global_flush_tlb();
 #endif
 }