e70bc57ba0
Let's consolidate timing related functions into one header. Signed-off-by: Janosch Frank <frankja@linux.ibm.com> Acked-by: Thomas Huth <thuth@redhat.com> Reviewed-by: David Hildenbrand <david@redhat.com> Message-Id: <20200624075226.92728-3-frankja@linux.ibm.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
24 lines
360 B
C
24 lines
360 B
C
#ifndef TIME_H
|
|
#define TIME_H
|
|
|
|
static inline u64 get_clock(void)
|
|
{
|
|
u64 r;
|
|
|
|
asm volatile("stck %0" : "=Q" (r) : : "cc");
|
|
return r;
|
|
}
|
|
|
|
static inline u64 get_time_ms(void)
|
|
{
|
|
/* Bit 51 is incremented each microsecond */
|
|
return (get_clock() >> 12) / 1000;
|
|
}
|
|
|
|
static inline u64 get_time_seconds(void)
|
|
{
|
|
return get_time_ms() / 1000;
|
|
}
|
|
|
|
#endif
|