sparc32: move kmap_init() to highmem.c
[firefly-linux-kernel-4.4.55.git] / arch / sparc / mm / highmem.c
index 4d5f8b3c4090530b74ef42cab91e3020d7358a2c..449f864f0cefdb8918bf0002d40dc87ba2cb8db3 100644 (file)
 #include <asm/pgalloc.h>
 #include <asm/vaddrs.h>
 
+pgprot_t kmap_prot;
+
+static pte_t *kmap_pte;
+
+void __init kmap_init(void)
+{
+       unsigned long address;
+       pmd_t *dir;
+
+       address = __fix_to_virt(FIX_KMAP_BEGIN);
+       dir = pmd_offset(pgd_offset_k(address), address);
+
+        /* cache the first kmap pte */
+        kmap_pte = pte_offset_kernel(dir, address);
+        kmap_prot = __pgprot(SRMMU_ET_PTE | SRMMU_PRIV | SRMMU_CACHE);
+}
+
 void *kmap_atomic(struct page *page)
 {
        unsigned long vaddr;