diff options
author | Christophe Leroy <christophe.leroy@c-s.fr> | 2020-02-07 13:39:04 +0100 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2020-02-17 20:12:18 +0100 |
commit | e876f0b69dc993e86ca7795e63e98385aa9a7ef3 (patch) | |
tree | c8f303d2886451c94a8cb67beec824145b28087b /kernel/time | |
parent | 8345228ccf31f94e3ff7ec5458ac7cc13cb323fa (diff) | |
download | linux-e876f0b69dc993e86ca7795e63e98385aa9a7ef3.tar.gz linux-e876f0b69dc993e86ca7795e63e98385aa9a7ef3.tar.bz2 linux-e876f0b69dc993e86ca7795e63e98385aa9a7ef3.zip |
lib/vdso: Allow architectures to provide the vdso data pointer
On powerpc, __arch_get_vdso_data() clobbers the link register, requiring
the caller to save it.
As the parent function already has to set a stack frame and saves the link
register before calling the C vdso function, retrieving the vdso data
pointer there is less overhead.
Split out the functional code from the __cvdso.*() interfaces into new
static functions which can either be called from the existing interfaces
with the vdso data pointer supplied via __arch_get_vdso_data() or directly
from ASM code.
Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
Reviewed-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
Link: https://lore.kernel.org/r/abf97996602ef07223fec30c005df78e5ed41b2e.1580399657.git.christophe.leroy@c-s.fr
Link: https://lkml.kernel.org/r/20200207124403.965789141@linutronix.de
Diffstat (limited to 'kernel/time')
0 files changed, 0 insertions, 0 deletions