diff options
Diffstat (limited to 'arch/powerpc/mm/pgtable-book3e.c')
| -rw-r--r-- | arch/powerpc/mm/pgtable-book3e.c | 9 | 
1 files changed, 3 insertions, 6 deletions
diff --git a/arch/powerpc/mm/pgtable-book3e.c b/arch/powerpc/mm/pgtable-book3e.c index a2298930f990..e0ccf36714b2 100644 --- a/arch/powerpc/mm/pgtable-book3e.c +++ b/arch/powerpc/mm/pgtable-book3e.c @@ -42,7 +42,7 @@ int __meminit vmemmap_create_mapping(unsigned long start,  	 * thus must have the low bits clear  	 */  	for (i = 0; i < page_size; i += PAGE_SIZE) -		BUG_ON(map_kernel_page(start + i, phys, flags)); +		BUG_ON(map_kernel_page(start + i, phys, __pgprot(flags)));  	return 0;  } @@ -70,7 +70,7 @@ static __ref void *early_alloc_pgtable(unsigned long size)   * map_kernel_page adds an entry to the ioremap page table   * and adds an entry to the HPT, possibly bolting it   */ -int map_kernel_page(unsigned long ea, unsigned long pa, unsigned long flags) +int map_kernel_page(unsigned long ea, unsigned long pa, pgprot_t prot)  {  	pgd_t *pgdp;  	pud_t *pudp; @@ -89,8 +89,6 @@ int map_kernel_page(unsigned long ea, unsigned long pa, unsigned long flags)  		ptep = pte_alloc_kernel(pmdp, ea);  		if (!ptep)  			return -ENOMEM; -		set_pte_at(&init_mm, ea, ptep, pfn_pte(pa >> PAGE_SHIFT, -							  __pgprot(flags)));  	} else {  		pgdp = pgd_offset_k(ea);  #ifndef __PAGETABLE_PUD_FOLDED @@ -113,9 +111,8 @@ int map_kernel_page(unsigned long ea, unsigned long pa, unsigned long flags)  			pmd_populate_kernel(&init_mm, pmdp, ptep);  		}  		ptep = pte_offset_kernel(pmdp, ea); -		set_pte_at(&init_mm, ea, ptep, pfn_pte(pa >> PAGE_SHIFT, -							  __pgprot(flags)));  	} +	set_pte_at(&init_mm, ea, ptep, pfn_pte(pa >> PAGE_SHIFT, prot));  	smp_wmb();  	return 0;  |