New upstream version 17.11-rc3
[deb_dpdk.git] / lib / librte_eal / common / eal_common_timer.c
index ed0b16d..568ae2f 100644 (file)
@@ -80,8 +80,11 @@ estimate_tsc_freq(void)
 void
 set_tsc_freq(void)
 {
-       uint64_t freq = get_tsc_freq();
+       uint64_t freq;
 
+       freq = get_tsc_freq_arch();
+       if (!freq)
+               freq = get_tsc_freq();
        if (!freq)
                freq = estimate_tsc_freq();
 
@@ -94,8 +97,7 @@ void rte_delay_us_callback_register(void (*userfunc)(unsigned int))
        rte_delay_us = userfunc;
 }
 
-static void __attribute__((constructor))
-rte_timer_init(void)
+RTE_INIT(rte_timer_init)
 {
        /* set rte_delay_us_block as a delay function */
        rte_delay_us_callback_register(rte_delay_us_block);