1 #ifndef TIME_H 2 #define TIME_H 3 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 12 static inline u64 get_time_ms(void) 13 { 14 /* Bit 51 is incremented each microsecond */ 15 return (get_clock() >> 12) / 1000; 16 } 17 18 static inline u64 get_time_seconds(void) 19 { 20 return get_time_ms() / 1000; 21 } 22 23 #endif 24