Browse Source

arm64: add kc_offset_to_vaddr and kc_vaddr_to_offset macro

This patch add kc_offset_to_vaddr() and kc_vaddr_to_offset(),
the default version doesn't work on arm64, because arm64 kernel address
is below the PAGE_OFFSET, like module address and vmemmap address are
all below PAGE_OFFSET address.

Signed-off-by: yalin wang <yalin.wang2010@gmail.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
yalin wang 10 years ago
parent
commit
03875ad52f
1 changed files with 2 additions and 0 deletions
  1. 2 0
      arch/arm64/include/asm/pgtable.h

+ 2 - 0
arch/arm64/include/asm/pgtable.h

@@ -673,6 +673,8 @@ static inline void update_mmu_cache(struct vm_area_struct *vma,
 
 
 #define update_mmu_cache_pmd(vma, address, pmd) do { } while (0)
 #define update_mmu_cache_pmd(vma, address, pmd) do { } while (0)
 
 
+#define	kc_vaddr_to_offset(v) ((v) & ~VA_START)
+#define	kc_offset_to_vaddr(o) ((o) | VA_START)
 #endif /* !__ASSEMBLY__ */
 #endif /* !__ASSEMBLY__ */
 
 
 #endif /* __ASM_PGTABLE_H */
 #endif /* __ASM_PGTABLE_H */