diff options
author | Christophe Leroy <christophe.leroy@csgroup.eu> | 2020-09-27 09:16:31 +0000 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2020-12-04 01:01:17 +1100 |
commit | 591857b635c1f635cae556e1b1f9d81808242493 (patch) | |
tree | de39edda42b4155e094f14e61af5f6d5f8f26935 /arch/powerpc/include/asm/vdso_datapage.h | |
parent | 511157ab641eb6bedd00d62673388e78a4f871cf (diff) |
powerpc/vdso: Simplify __get_datapage()
The VDSO datapage and the text pages are always located immediately
next to each other, so it can be hardcoded without an indirection
through __kernel_datapage_offset
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/b08f5ef99d64cfc38f79b7ad5310d9b4d2479eeb.1601197618.git.christophe.leroy@csgroup.eu
Diffstat (limited to 'arch/powerpc/include/asm/vdso_datapage.h')
-rw-r--r-- | arch/powerpc/include/asm/vdso_datapage.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/powerpc/include/asm/vdso_datapage.h b/arch/powerpc/include/asm/vdso_datapage.h index 3d996db05acd..535ba737397d 100644 --- a/arch/powerpc/include/asm/vdso_datapage.h +++ b/arch/powerpc/include/asm/vdso_datapage.h @@ -105,10 +105,12 @@ extern struct vdso_arch_data *vdso_data; .macro get_datapage ptr, tmp bcl 20, 31, .+4 +999: mflr \ptr - addi \ptr, \ptr, (__kernel_datapage_offset - (.-4))@l - lwz \tmp, 0(\ptr) - add \ptr, \tmp, \ptr +#if CONFIG_PPC_PAGE_SHIFT > 14 + addis \ptr, \ptr, (_vdso_datapage - 999b)@ha +#endif + addi \ptr, \ptr, (_vdso_datapage - 999b)@l .endm #endif /* __ASSEMBLY__ */ |