summaryrefslogtreecommitdiffstats
path: root/arch/arc/include
diff options
context:
space:
mode:
authorVineet Gupta <vgupta@synopsys.com>2015-03-05 06:36:31 -0500
committerVineet Gupta <vgupta@synopsys.com>2015-10-28 10:01:05 -0400
commit336e2136e1353db8e9e731c27381ee0735656a8a (patch)
treee386405627b5e1f68f04a1d4f854f3121b913d45 /arch/arc/include
parentd40846457fc23cd841a60fdc2786e08a8bedb35b (diff)
ARC: mm: preps ahead of HIGHMEM support
Before we plug in highmem support, some of code needs to be ready for it - copy_user_highpage() needs to be using the kmap_atomic API - mk_pte() can't assume page_address() - do_page_fault() can't assume VMALLOC_END is end of kernel vaddr space Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Diffstat (limited to 'arch/arc/include')
-rw-r--r--arch/arc/include/asm/pgtable.h9
1 files changed, 1 insertions, 8 deletions
diff --git a/arch/arc/include/asm/pgtable.h b/arch/arc/include/asm/pgtable.h
index f7c7273cd537..bd771351a1d1 100644
--- a/arch/arc/include/asm/pgtable.h
+++ b/arch/arc/include/asm/pgtable.h
@@ -270,13 +270,7 @@ static inline void pmd_set(pmd_t *pmdp, pte_t *ptep)
270 (unsigned long)(((pte_val(x) - CONFIG_LINUX_LINK_BASE) >> \ 270 (unsigned long)(((pte_val(x) - CONFIG_LINUX_LINK_BASE) >> \
271 PAGE_SHIFT))) 271 PAGE_SHIFT)))
272 272
273#define mk_pte(page, pgprot) \ 273#define mk_pte(page, prot) pfn_pte(page_to_pfn(page), prot)
274({ \
275 pte_t pte; \
276 pte_val(pte) = __pa(page_address(page)) + pgprot_val(pgprot); \
277 pte; \
278})
279
280#define pte_pfn(pte) (pte_val(pte) >> PAGE_SHIFT) 274#define pte_pfn(pte) (pte_val(pte) >> PAGE_SHIFT)
281#define pfn_pte(pfn, prot) (__pte(((pfn) << PAGE_SHIFT) | pgprot_val(prot))) 275#define pfn_pte(pfn, prot) (__pte(((pfn) << PAGE_SHIFT) | pgprot_val(prot)))
282#define __pte_index(addr) (((addr) >> PAGE_SHIFT) & (PTRS_PER_PTE - 1)) 276#define __pte_index(addr) (((addr) >> PAGE_SHIFT) & (PTRS_PER_PTE - 1))
@@ -360,7 +354,6 @@ static inline void set_pte_at(struct mm_struct *mm, unsigned long addr,
360#define pgd_offset_fast(mm, addr) pgd_offset(mm, addr) 354#define pgd_offset_fast(mm, addr) pgd_offset(mm, addr)
361#endif 355#endif
362 356
363extern void paging_init(void);
364extern pgd_t swapper_pg_dir[] __aligned(PAGE_SIZE); 357extern pgd_t swapper_pg_dir[] __aligned(PAGE_SIZE);
365void update_mmu_cache(struct vm_area_struct *vma, unsigned long address, 358void update_mmu_cache(struct vm_area_struct *vma, unsigned long address,
366 pte_t *ptep); 359 pte_t *ptep);