L4Re Operating System Framework
Interface and Usage Documentation
Loading...
Searching...
No Matches
Bit Manipulation
+ Collaboration diagram for Bit Manipulation:

Files

file  bitops_arch.h
 amd64 bit manipulation functions
 
file  bitops.h
 bit manipulation functions
 
file  bitops_arch.h
 x86 bit manipulation functions
 

Functions

void l4util_set_bit (int b, volatile l4_umword_t *dest)
 Set bit in memory.
 
void l4util_clear_bit (int b, volatile l4_umword_t *dest)
 Clear bit in memory.
 
void l4util_complement_bit (int b, volatile l4_umword_t *dest)
 Complement bit in memory.
 
int l4util_test_bit (int b, const volatile l4_umword_t *dest)
 Test bit (return value of bit)
 
int l4util_bts (int b, volatile l4_umword_t *dest)
 Bit test and set.
 
int l4util_btr (int b, volatile l4_umword_t *dest)
 Bit test and reset.
 
int l4util_btc (int b, volatile l4_umword_t *dest)
 Bit test and complement.
 
int l4util_bsr (l4_umword_t word)
 Bit scan reverse.
 
int l4util_bsf (l4_umword_t word)
 Bit scan forward.
 
int l4util_find_first_set_bit (const void *dest, l4_size_t size)
 Find the first set bit in a memory region.
 
int l4util_find_first_zero_bit (const void *dest, l4_size_t size)
 Find the first zero bit in a memory region.
 
int l4util_next_power2 (unsigned long val)
 Find the next power of 2 for a given number.
 

Detailed Description

Function Documentation

◆ l4util_bsf()

int l4util_bsf ( l4_umword_t  word)
inline

Bit scan forward.

Parameters
wordvalue (machine size)
Returns
index of least significant bit set in word, -1 if no bit is set (word == 0)

"bit scan forward", find least significant bit set in word.

Definition at line 318 of file bitops.h.

◆ l4util_bsr()

int l4util_bsr ( l4_umword_t  word)
inline

Bit scan reverse.

Parameters
wordvalue (machine size)
Returns
index of most significant set bit in word, -1 if no bit is set (word == 0)

"bit scan reverse", find most significant set bit in word (-> LOG2(word))

Definition at line 301 of file bitops.h.

◆ l4util_btc()

int l4util_btc ( int  b,
volatile l4_umword_t dest 
)
inline

Bit test and complement.

Parameters
bbit position
destdestination operand
Returns
Old value of bit b.

Complement bit b and return old value.

Definition at line 396 of file bitops.h.

◆ l4util_btr()

int l4util_btr ( int  b,
volatile l4_umword_t dest 
)
inline

Bit test and reset.

Parameters
bbit position
destdestination operand
Returns
Old value of bit b.

Reset bit b and return old value.

Definition at line 280 of file bitops.h.

References l4util_cmpxchg().

+ Here is the call graph for this function:

◆ l4util_bts()

int l4util_bts ( int  b,
volatile l4_umword_t dest 
)
inline

Bit test and set.

Parameters
bbit position
destdestination operand
Returns
Old value of bit b.

Set the b bit of dest to 1 and return the old value.

Definition at line 258 of file bitops.h.

References l4util_cmpxchg().

+ Here is the call graph for this function:

◆ l4util_clear_bit()

void l4util_clear_bit ( int  b,
volatile l4_umword_t dest 
)
inline

Clear bit in memory.

Parameters
bbit position
destdestination operand

Definition at line 228 of file bitops.h.

References l4util_cmpxchg().

+ Here is the call graph for this function:

◆ l4util_complement_bit()

void l4util_complement_bit ( int  b,
volatile l4_umword_t dest 
)
inline

Complement bit in memory.

Parameters
bbit position
destdestination operand

Definition at line 361 of file bitops.h.

◆ l4util_find_first_set_bit()

int l4util_find_first_set_bit ( const void *  dest,
l4_size_t  size 
)
inline

Find the first set bit in a memory region.

Parameters
destbit string
sizesize of string in bits (must be a multiple of L4_MWORD_BITS!)
Returns
number of the first set bit, >= size if no bit is set

Definition at line 402 of file bitops.h.

◆ l4util_find_first_zero_bit()

int l4util_find_first_zero_bit ( const void *  dest,
l4_size_t  size 
)
inline

Find the first zero bit in a memory region.

Parameters
destbit string
sizesize of string in bits (must be a multiple of L4_MWORD_BITS!)
Returns
number of the first zero bit, >= size if no bit is set

Definition at line 335 of file bitops.h.

◆ l4util_next_power2()

int l4util_next_power2 ( unsigned long  val)
inline

Find the next power of 2 for a given number.

Parameters
valinitial value
Returns
next-highest power of 2

Definition at line 375 of file bitops.h.

◆ l4util_set_bit()

void l4util_set_bit ( int  b,
volatile l4_umword_t dest 
)
inline

Set bit in memory.

Parameters
bbit position
destdestination operand

Definition at line 209 of file bitops.h.

References l4util_cmpxchg().

+ Here is the call graph for this function:

◆ l4util_test_bit()

int l4util_test_bit ( int  b,
const volatile l4_umword_t dest 
)
inline

Test bit (return value of bit)

Parameters
bbit position
destdestination operand
Returns
Value of bit b.

Definition at line 246 of file bitops.h.