]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - arch/x86/lib/timer.c
x86: Add function to read time stamp counter
[karo-tx-uboot.git] / arch / x86 / lib / timer.c
index fd7032e92c9f40e007348aac3a249e5078284b82..a13424b3e378ce14819ca445afb9109c60874359 100644 (file)
@@ -37,6 +37,7 @@ struct timer_isr_function {
 
 static struct timer_isr_function *first_timer_isr;
 static unsigned long system_ticks;
+static uint64_t base_value;
 
 /*
  * register_timer_isr() allows multiple architecture and board specific
@@ -98,3 +99,19 @@ ulong get_timer(ulong base)
 {
        return system_ticks - base;
 }
+
+void timer_set_tsc_base(uint64_t new_base)
+{
+       base_value = new_base;
+}
+
+uint64_t timer_get_tsc(void)
+{
+       uint64_t time_now;
+
+       time_now = rdtsc();
+       if (!base_value)
+               base_value = time_now;
+
+       return time_now - base_value;
+}