DPDK  24.07.0
Data Structures | Functions
rte_cpuflags.h File Reference
#include "rte_common.h"
#include <errno.h>
#include <rte_compat.h>

Go to the source code of this file.

Data Structures

struct  rte_cpu_intrinsics
 

Functions

__rte_experimental void rte_cpu_get_intrinsics_support (struct rte_cpu_intrinsics *intrinsics)
 
__extension__ const char * rte_cpu_get_flag_name (enum rte_cpu_flag_t feature)
 
__extension__ int rte_cpu_get_flag_enabled (enum rte_cpu_flag_t feature)
 
int rte_cpu_is_supported (void)
 
unsigned long rte_cpu_getauxval (unsigned long type)
 
int rte_cpu_strcmp_auxval (unsigned long type, const char *str)
 

Detailed Description

Architecture specific API to determine available CPU features at runtime.

Definition in file rte_cpuflags.h.

Function Documentation

◆ rte_cpu_get_intrinsics_support()

__rte_experimental void rte_cpu_get_intrinsics_support ( struct rte_cpu_intrinsics intrinsics)
Warning
EXPERIMENTAL: this API may change without prior notice

Check CPU support for various intrinsics at runtime.

Parameters
intrinsicsPointer to a structure to be filled.

◆ rte_cpu_get_flag_name()

__extension__ const char* rte_cpu_get_flag_name ( enum rte_cpu_flag_t  feature)

Get name of CPU flag

Parameters
featureCPU flag ID
Returns
flag name NULL if flag ID is invalid

◆ rte_cpu_get_flag_enabled()

__extension__ int rte_cpu_get_flag_enabled ( enum rte_cpu_flag_t  feature)

Function for checking a CPU flag availability

Parameters
featureCPU flag to query CPU for
Returns
1 if flag is available 0 if flag is not available -ENOENT if flag is invalid

◆ rte_cpu_is_supported()

int rte_cpu_is_supported ( void  )

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. This version returns a result so that decisions may be made (for instance, graceful shutdowns).

◆ rte_cpu_getauxval()

unsigned long rte_cpu_getauxval ( unsigned long  type)

This function attempts to retrieve a value from the auxiliary vector. If it is unsuccessful, the result will be 0, and errno will be set.

Returns
A value from the auxiliary vector. When the value is 0, check errno to determine if an error occurred.

◆ rte_cpu_strcmp_auxval()

int rte_cpu_strcmp_auxval ( unsigned long  type,
const char *  str 
)

This function retrieves a value from the auxiliary vector, and compares it as a string against the value retrieved.

Returns
The result of calling strcmp() against the value retrieved from the auxiliary vector. When the value is 0 (meaning a match is found), check errno to determine if an error occurred.