Go to the source code of this file.
#define AARCH64_CPU_IMPLEMENTER_CORTEXA72 0x41 |
#define AARCH64_CPU_IMPLEMENTER_QDF24XX 0x51 |
#define AARCH64_CPU_IMPLEMENTER_THUNERDERX2 0x43 |
#define AARCH64_CPU_PART_CORTEXA72 0xd08 |
#define AARCH64_CPU_PART_QDF24XX 0xc00 |
#define AARCH64_CPU_PART_THUNERDERX2 0x0af |
#define CLIB_CPU_OPTIMIZED |
Definition at line 39 of file cpu.h.
#define CLIB_MARCH_FN |
( |
|
fn, |
|
|
|
rtype, |
|
|
|
_args... |
|
) |
| |
Value: int fn ## _selected_priority = 0; \
#define CLIB_CPU_OPTIMIZED
Definition at line 295 of file cpu.h.
#define CLIB_MARCH_FN_CONSTRUCTOR |
( |
|
fn | ) |
|
Value:{ \
{ \
} \
} \
#define CLIB_MARCH_FN_PRIORITY()
Definition at line 283 of file cpu.h.
#define CLIB_MARCH_FN_PRIORITY |
( |
| ) |
0 |
#define CLIB_MARCH_FN_SELECT |
( |
|
fn | ) |
(* fn ## _selected) |
Definition at line 62 of file cpu.h.
#define CLIB_MULTIARCH_ARCH_CHECK |
( |
|
arch, |
|
|
|
fn, |
|
|
|
tgt |
|
) |
| |
Value:if (clib_cpu_supports_ ## arch()) \
return & fn ## _ ##arch;
Definition at line 43 of file cpu.h.
#define CLIB_MULTIARCH_FN |
( |
|
fn | ) |
fn |
Definition at line 59 of file cpu.h.
#define CLIB_MULTIARCH_SELECT_FN |
( |
|
fn, |
|
|
|
... |
|
) |
| |
Value:__VA_ARGS__ void * fn ## _multiarch_select(void) \
return & fn; \
}
#define CLIB_MULTIARCH_ARCH_CHECK(arch, fn, tgt)
#define foreach_march_variant(macro, x)
Definition at line 47 of file cpu.h.
#define foreach_aarch64_flags |
Value:_ (fp, 0) \
_ (asimd, 1) \
_ (evtstrm, 2) \
_ (aarch64_aes, 3) \
_ (pmull, 4) \
_ (sha1, 5) \
_ (sha2, 6) \
_ (crc32, 7) \
_ (atomics, 8) \
_ (fphp, 9) \
_ (asimdhp, 10) \
_ (cpuid, 11) \
_ (asimdrdm, 12) \
_ (jscvt, 13) \
_ (fcma, 14) \
_ (lrcpc, 15) \
_ (dcpop, 16) \
_ (sha3, 17) \
_ (sm3, 18) \
_ (sm4, 19) \
_ (asimddp, 20) \
_ (sha512, 21) \
_ (sve, 22)
Definition at line 77 of file cpu.h.
#define foreach_march_variant |
( |
|
macro, |
|
|
|
x |
|
) |
| |
Definition at line 32 of file cpu.h.
#define foreach_x86_64_flags |
Value:_ (sse3, 1, ecx, 0) \
_ (ssse3, 1, ecx, 9) \
_ (sse41, 1, ecx, 19) \
_ (sse42, 1, ecx, 20) \
_ (avx, 1, ecx, 28) \
_ (avx2, 7, ebx, 5) \
_ (avx512f, 7, ebx, 16) \
_ (x86_aes, 1, ecx, 25) \
_ (sha, 7, ebx, 29) \
_ (invariant_tsc, 0x80000007, edx, 8)
Definition at line 64 of file cpu.h.
static u32 clib_cpu_implementer |
( |
| ) |
|
|
inlinestatic |
static int clib_cpu_march_priority_avx2 |
( |
| ) |
|
|
inlinestatic |
static int clib_cpu_march_priority_avx512 |
( |
| ) |
|
|
inlinestatic |
static int clib_cpu_march_priority_cortexa72 |
( |
| ) |
|
|
inlinestatic |
static int clib_cpu_march_priority_qdf24xx |
( |
| ) |
|
|
inlinestatic |
static int clib_cpu_march_priority_thunderx2t99 |
( |
| ) |
|
|
inlinestatic |
static u32 clib_cpu_part |
( |
| ) |
|
|
inlinestatic |
static int clib_get_cpuid |
( |
const u32 |
lev, |
|
|
u32 * |
eax, |
|
|
u32 * |
ebx, |
|
|
u32 * |
ecx, |
|
|
u32 * |
edx |
|
) |
| |
|
inlinestatic |