DPDK 21.11.9
|
Go to the source code of this file.
Macros | |
#define | RTE_BIT64(nr) (UINT64_C(1) << (nr)) |
#define | RTE_BIT32(nr) (UINT32_C(1) << (nr)) |
Functions | |
static __rte_experimental uint32_t | rte_bit_relaxed_get32 (unsigned int nr, volatile uint32_t *addr) |
static __rte_experimental void | rte_bit_relaxed_set32 (unsigned int nr, volatile uint32_t *addr) |
static __rte_experimental void | rte_bit_relaxed_clear32 (unsigned int nr, volatile uint32_t *addr) |
static __rte_experimental uint32_t | rte_bit_relaxed_test_and_set32 (unsigned int nr, volatile uint32_t *addr) |
static __rte_experimental uint32_t | rte_bit_relaxed_test_and_clear32 (unsigned int nr, volatile uint32_t *addr) |
static __rte_experimental uint64_t | rte_bit_relaxed_get64 (unsigned int nr, volatile uint64_t *addr) |
static __rte_experimental void | rte_bit_relaxed_set64 (unsigned int nr, volatile uint64_t *addr) |
static __rte_experimental void | rte_bit_relaxed_clear64 (unsigned int nr, volatile uint64_t *addr) |
static __rte_experimental uint64_t | rte_bit_relaxed_test_and_set64 (unsigned int nr, volatile uint64_t *addr) |
static __rte_experimental uint64_t | rte_bit_relaxed_test_and_clear64 (unsigned int nr, volatile uint64_t *addr) |
Bit Operations
This file defines a family of APIs for bit operations without enforcing memory ordering.
Definition in file rte_bitops.h.
#define RTE_BIT64 | ( | nr | ) | (UINT64_C(1) << (nr)) |
Get the uint64_t value for a specified bit set.
nr | The bit number in range of 0 to 63. |
Definition at line 30 of file rte_bitops.h.
#define RTE_BIT32 | ( | nr | ) | (UINT32_C(1) << (nr)) |
Get the uint32_t value for a specified bit set.
nr | The bit number in range of 0 to 31. |
Definition at line 38 of file rte_bitops.h.
|
inlinestatic |
Get the target bit from a 32-bit value without memory ordering.
nr | The target bit to get. |
addr | The address holding the bit. |
Definition at line 57 of file rte_bitops.h.
|
inlinestatic |
Set the target bit in a 32-bit value to 1 without memory ordering.
nr | The target bit to set. |
addr | The address holding the bit. |
Definition at line 78 of file rte_bitops.h.
|
inlinestatic |
Clear the target bit in a 32-bit value to 0 without memory ordering.
nr | The target bit to clear. |
addr | The address holding the bit. |
Definition at line 99 of file rte_bitops.h.
|
inlinestatic |
Return the original bit from a 32-bit value, then set it to 1 without memory ordering.
nr | The target bit to get and set. |
addr | The address holding the bit. |
Definition at line 123 of file rte_bitops.h.
|
inlinestatic |
Return the original bit from a 32-bit value, then clear it to 0 without memory ordering.
nr | The target bit to get and clear. |
addr | The address holding the bit. |
Definition at line 149 of file rte_bitops.h.
|
inlinestatic |
Get the target bit from a 64-bit value without memory ordering.
nr | The target bit to get. |
addr | The address holding the bit. |
Definition at line 176 of file rte_bitops.h.
|
inlinestatic |
Set the target bit in a 64-bit value to 1 without memory ordering.
nr | The target bit to set. |
addr | The address holding the bit. |
Definition at line 197 of file rte_bitops.h.
|
inlinestatic |
Clear the target bit in a 64-bit value to 0 without memory ordering.
nr | The target bit to clear. |
addr | The address holding the bit. |
Definition at line 218 of file rte_bitops.h.
|
inlinestatic |
Return the original bit from a 64-bit value, then set it to 1 without memory ordering.
nr | The target bit to get and set. |
addr | The address holding the bit. |
Definition at line 242 of file rte_bitops.h.
|
inlinestatic |
Return the original bit from a 64-bit value, then clear it to 0 without memory ordering.
nr | The target bit to get and clear. |
addr | The address holding the bit. |
Definition at line 268 of file rte_bitops.h.