|
@@ -11,6 +11,8 @@
|
|
|
#ifndef _ASM_S390_TIMEX_H
|
|
|
#define _ASM_S390_TIMEX_H
|
|
|
|
|
|
+#include <asm/lowcore.h>
|
|
|
+
|
|
|
/* The value of the TOD clock for 1.1.1970. */
|
|
|
#define TOD_UNIX_EPOCH 0x7d91048bca000000ULL
|
|
|
|
|
@@ -49,6 +51,22 @@ static inline void store_clock_comparator(__u64 *time)
|
|
|
asm volatile("stckc %0" : "=Q" (*time));
|
|
|
}
|
|
|
|
|
|
+void clock_comparator_work(void);
|
|
|
+
|
|
|
+static inline unsigned long long local_tick_disable(void)
|
|
|
+{
|
|
|
+ unsigned long long old;
|
|
|
+
|
|
|
+ old = S390_lowcore.clock_comparator;
|
|
|
+ S390_lowcore.clock_comparator = -1ULL;
|
|
|
+ return old;
|
|
|
+}
|
|
|
+
|
|
|
+static inline void local_tick_enable(unsigned long long comp)
|
|
|
+{
|
|
|
+ S390_lowcore.clock_comparator = comp;
|
|
|
+}
|
|
|
+
|
|
|
#define CLOCK_TICK_RATE 1193180 /* Underlying HZ */
|
|
|
|
|
|
typedef unsigned long long cycles_t;
|