/* sn udelay uses the RTC instead of the ITC because the ITC is not synchronized across all CPUs, and the thread may migrate to another CPU if preemption is enabled.  */
static void ia64_sn_udelay(unsigned long usecs)
/* sn udelay uses the RTC instead of the ITC because the ITC is not synchronized across all CPUs, and the thread may migrate to another CPU if preemption is enabled.  */
static void ia64_sn_udelay(unsigned long usecs)
{
	unsigned long start = rtc_time();
	unsigned long end = start +
			usecs * sn_rtc_cycles_per_second / 1000000;
	while (time_before((unsigned long)rtc_time(), end))
		cpu_relax();
}