per_cpu(last_jiffy, i) = tb_last_stamp;
}
-#ifdef CONFIG_SMPxxx
+#ifdef CONFIG_SMP
void __init smp_space_timers(unsigned int max_cpus)
{
int i;
w = a / divisor;
ra = ((u64)(a - (w * divisor)) << 32) + b;
-#ifdef CONFIG_PPC64
- x = ra / divisor;
- rb = ((ra - (x * divisor)) << 32) + c;
-
- y = rb / divisor;
- rc = ((rb - (y * divisor)) << 32) + d;
-
- z = rc / divisor;
-#else
- /* for 32-bit, use do_div from div64.h */
rb = ((u64) do_div(ra, divisor) << 32) + c;
x = ra;
do_div(rc, divisor);
z = rc;
-#endif
dr->result_high = ((u64)w << 32) + x;
dr->result_low = ((u64)y << 32) + z;
}
-
#endif /* CONFIG_MPIC */
-static void __init smp_space_timers(unsigned int max_cpus)
-{
- int i;
- unsigned long offset = tb_ticks_per_jiffy / max_cpus;
- unsigned long previous_tb = paca[boot_cpuid].next_jiffy_update_tb;
-
- for_each_cpu(i) {
- if (i != boot_cpuid) {
- paca[i].next_jiffy_update_tb =
- previous_tb + offset;
- previous_tb = paca[i].next_jiffy_update_tb;
- }
- }
-}
-
void smp_message_recv(int msg, struct pt_regs *regs)
{
switch(msg) {
extern u64 mulhdu(u64, u64);
#endif
-unsigned mulhwu_scale_factor(unsigned, unsigned);
-void div128_by_32(u64 dividend_high, u64 dividend_low,
- unsigned divisor, struct div_result *dr);
+extern void smp_space_timers(unsigned int);
+
+extern unsigned mulhwu_scale_factor(unsigned, unsigned);
+extern void div128_by_32(u64 dividend_high, u64 dividend_low,
+ unsigned divisor, struct div_result *dr);
/* Used to store Processor Utilization register (purr) values */