/* This is ugly, but preferable to the alternatives. Otherwise we would either need to write a program to do it in /etc/rc (and risk confusion if the program gets run more than once; it would also be hard to make the program warp the clock precisely n hours) or compile in the timezone information into the kernel. Bad, bad....  */
static void warp_clock(void)
/* This is ugly, but preferable to the alternatives. Otherwise we would either need to write a program to do it in /etc/rc (and risk confusion if the program gets run more than once; it would also be hard to make the program warp the clock precisely n hours) or compile in the timezone information into the kernel. Bad, bad....  */
static void warp_clock(void)
{
	write_seqlock_irq(&xtime_lock);
	wall_to_monotonic.tv_sec -= sys_tz.tz_minuteswest * 60;
	xtime.tv_sec += sys_tz.tz_minuteswest * 60;
	update_xtime_cache(0);
	write_sequnlock_irq(&xtime_lock);
	clock_was_set();
}