OSDN Git Service

UPSTREAM: mm: Introduce lm_alias
authorLaura Abbott <labbott@redhat.com>
Tue, 10 Jan 2017 21:35:42 +0000 (13:35 -0800)
committerMark Salyzyn <salyzyn@google.com>
Mon, 20 Nov 2017 21:50:07 +0000 (13:50 -0800)
(cherry-pick from commit 568c5fe5a54f2654f5a4c599c45b8a62ed9a2013)

Certain architectures may have the kernel image mapped separately to
alias the linear map. Introduce a macro lm_alias to translate a kernel
image symbol into its linear alias. This is used in part with work to
add CONFIG_DEBUG_VIRTUAL support for arm64.

Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Tested-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Laura Abbott <labbott@redhat.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Bug: 20045882
Bug: 63737556
Change-Id: I93ba4ef8df77f7e52717ab6e208d06122ac3a72b

include/linux/mm.h

index e51aafb..941c7f7 100644 (file)
@@ -70,6 +70,10 @@ extern int mmap_rnd_compat_bits __read_mostly;
 #define __pa_symbol(x)  __pa(RELOC_HIDE((unsigned long)(x), 0))
 #endif
 
+#ifndef lm_alias
+#define lm_alias(x)    __va(__pa_symbol(x))
+#endif
+
 /*
  * To prevent common memory management code establishing
  * a zero page mapping on a read fault.