[PATCH v4 20/35] s390/time: Set up vDSO datapage later
Thomas Weißschuh
thomas.weissschuh at linutronix.de
Tue Oct 14 17:49:06 AEDT 2025
Upcoming changes to the generic vDSO library will mean that the vDSO
datapage will not yet be usable during time_early_init().
Move the initialization to time_init() which is called later. This is
valid as the value of tod_clock_base.tod only changes in stop_machine()
context and both time_init_early() and time_init() are called before
interrupts are enabled.
Signed-off-by: Thomas Weißschuh <thomas.weissschuh at linutronix.de>
Acked-by: Heiko Carstens <hca at linux.ibm.com>
Tested-by: Andreas Larsson <andreas at gaisler.com>
Reviewed-by: Andreas Larsson <andreas at gaisler.com>
---
arch/s390/kernel/time.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/s390/kernel/time.c b/arch/s390/kernel/time.c
index 63517b85f4c930b799235c381d9d6b263fff5431..6b948b9e61fe674bbc842a0143dd35a26b91a860 100644
--- a/arch/s390/kernel/time.c
+++ b/arch/s390/kernel/time.c
@@ -78,8 +78,6 @@ void __init time_early_init(void)
struct ptff_qto qto;
struct ptff_qui qui;
- vdso_k_time_data->arch_data.tod_delta = tod_clock_base.tod;
-
if (!test_facility(28))
return;
@@ -248,6 +246,8 @@ struct clocksource * __init clocksource_default_clock(void)
*/
void __init time_init(void)
{
+ vdso_k_time_data->arch_data.tod_delta = tod_clock_base.tod;
+
/* Reset time synchronization interfaces. */
stp_reset();
--
2.51.0
More information about the Linuxppc-dev
mailing list