Merge branch 'master' of git://git.denx.de/u-boot-arm
[platform/kernel/u-boot.git] / arch / x86 / lib / tsc_timer.c
index d931e5f..0688973 100644 (file)
@@ -37,7 +37,7 @@ void timer_set_base(u64 base)
  * restart. This yields a free running counter guaranteed to take almost 6
  * years to wrap around even at 100GHz clock rate.
  */
-u64 get_ticks(void)
+u64 __attribute__((no_instrument_function)) get_ticks(void)
 {
        u64 now_tick = rdtsc();
 
@@ -50,7 +50,7 @@ u64 get_ticks(void)
 #define PLATFORM_INFO_MSR 0xce
 
 /* Get the speed of the TSC timer in MHz */
-unsigned long get_tbclk_mhz(void)
+unsigned __attribute__((no_instrument_function)) long get_tbclk_mhz(void)
 {
        u32 ratio;
        u64 platform_info = native_read_msr(PLATFORM_INFO_MSR);
@@ -75,7 +75,7 @@ ulong get_timer(ulong base)
        return get_ms_timer() - base;
 }
 
-ulong timer_get_us(void)
+ulong __attribute__((no_instrument_function)) timer_get_us(void)
 {
        return get_ticks() / get_tbclk_mhz();
 }
@@ -98,6 +98,10 @@ void __udelay(unsigned long usec)
 
 int timer_init(void)
 {
-       /* Nothing to do here - the timer needs no init */
+#ifdef CONFIG_SYS_PCAT_TIMER
+       /* Set up the PCAT timer if required */
+       pcat_timer_init();
+#endif
+
        return 0;
 }