eal: always check CPU support at runtime
authorIntel <intel.com>
Wed, 19 Dec 2012 23:00:00 +0000 (00:00 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Thu, 25 Jul 2013 13:17:47 +0000 (15:17 +0200)
Signed-off-by: Intel
lib/librte_eal/common/eal_common_cpuflags.c
lib/librte_eal/common/include/rte_cpuflags.h

index b3d03e5..8312614 100644 (file)
@@ -243,7 +243,10 @@ rte_cpu_get_flag_enabled(enum rte_cpu_flag_t feature)
  * with ICC, the check is generated by the compiler.
  */
 #ifndef __INTEL_COMPILER
-static void __attribute__ ((__constructor__))
+void __attribute__ ((__constructor__))
+#else
+void
+#endif
 rte_cpu_check_supported(void)
 {
        /* This is generated at compile-time by the build system */
@@ -261,4 +264,3 @@ rte_cpu_check_supported(void)
                        exit(1);
                }
 }
-#endif
index cb22396..abd4800 100644 (file)
@@ -156,15 +156,23 @@ enum rte_cpu_flag_t {
  * Function for checking a CPU flag availability
  *
  * @param flag
- *     CPU flag to query CPU for
+ *     CPU flag to query CPU for
  * @return
- *  1 if flag is available
- *  0 if flag is not available
- *  -ENOENT if flag is invalid
+ *     1 if flag is available
+ *     0 if flag is not available
+ *     -ENOENT if flag is invalid
  */
 int
 rte_cpu_get_flag_enabled(enum rte_cpu_flag_t flag);
 
+/**
+ * This function checks that the currently used CPU supports the CPU features
+ * that were specified at compile time. It is called automatically within the
+ * EAL, so does not need to be used by applications.
+ */
+void
+rte_cpu_check_supported(void);
+
 #ifdef __cplusplus
 }
 #endif