These changes are a raw update to a vanilla kernel 4.1.10, with the
[kvmfornfv.git] / kernel / arch / powerpc / include / asm / pgtable-ppc64.h
index 43e6ad4..88d27e3 100644 (file)
 #define pte_iterate_hashed_end() } while(0)
 
 #ifdef CONFIG_PPC_HAS_HASH_64K
-#define pte_pagesize_index(mm, addr, pte)      get_slice_psize(mm, addr)
+/*
+ * We expect this to be called only for user addresses or kernel virtual
+ * addresses other than the linear mapping.
+ */
+#define pte_pagesize_index(mm, addr, pte)                      \
+       ({                                                      \
+               unsigned int psize;                             \
+               if (is_kernel_addr(addr))                       \
+                       psize = MMU_PAGE_4K;                    \
+               else                                            \
+                       psize = get_slice_psize(mm, addr);      \
+               psize;                                          \
+       })
 #else
 #define pte_pagesize_index(mm, addr, pte)      MMU_PAGE_4K
 #endif