xref: /openbmc/qemu/pc-bios/s390-ccw/s390-time.h (revision aecdfcc3)
1 #ifndef TIME_H
2 #define TIME_H
3 
get_clock(void)4 static inline u64 get_clock(void)
5 {
6     u64 r;
7 
8     asm volatile("stck %0" : "=Q" (r) : : "cc");
9     return r;
10 }
11 
get_time_ms(void)12 static inline u64 get_time_ms(void)
13 {
14     /* Bit 51 is incremented each microsecond */
15     return (get_clock() >> 12) / 1000;
16 }
17 
get_time_seconds(void)18 static inline u64 get_time_seconds(void)
19 {
20     return get_time_ms() / 1000;
21 }
22 
23 #endif
24