/* * Get the TOD clock running. */ static u64 __init reset_tod_clock(void) { u64 time; etr_reset(); if (store_clock(&time) == 0) return time; /* TOD clock not running. Set the clock to Unix Epoch. */ if (set_clock(TOD_UNIX_EPOCH) != 0 || store_clock(&time) != 0) panic("TOD clock not operational."); return TOD_UNIX_EPOCH; }
/* * Get the TOD clock running. */ static void __init reset_tod_clock(void) { u64 time; if (store_clock(&time) == 0) return; /* TOD clock not running. Set the clock to Unix Epoch. */ if (set_clock(TOD_UNIX_EPOCH) != 0 || store_clock(&time) != 0) disabled_wait(0); sched_clock_base_cc = TOD_UNIX_EPOCH; S390_lowcore.last_update_clock = sched_clock_base_cc; }