X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=include%2Fasm-s390%2Ftimex.h;h=d744c3d62de58dc7d31de475507f6775689d5f3d;hb=13a6ddb08e58a1bd344da7898c4e2f13bdf18c2f;hp=5cbd55cb40ce7766f1da18cdf0e605a19be48314;hpb=d54853ef8cb17296ac7bce9c77430fb7c80532d0;p=linux-2.6 diff --git a/include/asm-s390/timex.h b/include/asm-s390/timex.h index 5cbd55cb40..d744c3d62d 100644 --- a/include/asm-s390/timex.h +++ b/include/asm-s390/timex.h @@ -62,6 +62,20 @@ static inline unsigned long long get_clock (void) return clk; } +static inline unsigned long long get_clock_xt(void) +{ + unsigned char clk[16]; + +#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 2) + asm volatile("stcke %0" : "=Q" (clk) : : "cc"); +#else /* __GNUC__ */ + asm volatile("stcke 0(%1)" : "=m" (clk) + : "a" (clk) : "cc"); +#endif /* __GNUC__ */ + + return *((unsigned long long *)&clk[1]); +} + static inline cycles_t get_cycles(void) { return (cycles_t) get_clock() >> 2; @@ -69,5 +83,6 @@ static inline cycles_t get_cycles(void) int get_sync_clock(unsigned long long *clock); void init_cpu_timer(void); +unsigned long long monotonic_clock(void); #endif