Commit 2dc019ca authored by Aboorva Devarajan's avatar Aboorva Devarajan Committed by Madhavan Srinivasan
Browse files

powerpc/time: Expose boot_tb via accessor



- Define accessor function get_boot_tb() to safely return boot_tb value,
  this is only needed when running in SPLPAR environments, so the
  accessor is built conditionally under CONFIG_PPC_SPLPAR.

- Tag boot_tb as __ro_after_init since it is written once at initialized
  and never updated afterwards.

Signed-off-by: default avatarAboorva Devarajan <aboorvad@linux.ibm.com>
Tested-by: default avatarTejas Manhas <tejas05@linux.ibm.com>
Tested-by: default avatarVenkat Rao Bagalkote <venkat88@linux.ibm.com>
Signed-off-by: default avatarMadhavan Srinivasan <maddy@linux.ibm.com>
Link: https://patch.msgid.link/20250915102947.26681-2-atrajeev@linux.ibm.com
parent 9316512b
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -29,6 +29,10 @@ extern u64 decrementer_max;

extern void generic_calibrate_decr(void);

#ifdef CONFIG_PPC_SPLPAR
extern u64 get_boot_tb(void);
#endif

/* Some sane defaults: 125 MHz timebase, 1GHz processor */
extern unsigned long ppc_proc_freq;
#define DEFAULT_PROC_FREQ	(DEFAULT_TB_FREQ * 8)
+7 −1
Original line number Diff line number Diff line
@@ -137,7 +137,7 @@ EXPORT_SYMBOL_GPL(rtc_lock);

static u64 tb_to_ns_scale __read_mostly;
static unsigned tb_to_ns_shift __read_mostly;
static u64 boot_tb __read_mostly;
static u64 boot_tb __ro_after_init;

extern struct timezone sys_tz;
static long timezone_offset;
@@ -639,6 +639,12 @@ notrace unsigned long long sched_clock(void)
	return mulhdu(get_tb() - boot_tb, tb_to_ns_scale) << tb_to_ns_shift;
}

#ifdef CONFIG_PPC_SPLPAR
u64 get_boot_tb(void)
{
	return boot_tb;
}
#endif

#ifdef CONFIG_PPC_PSERIES