Bitwise operations
The header qemu/bitops.h
provides utility functions for
performing bitwise operations.
-
void set_bit(long nr, unsigned long *addr)
Parameters
long nr
-
void set_bit_atomic(long nr, unsigned long *addr)
Parameters
long nr
-
void clear_bit(long nr, unsigned long *addr)
Parameters
long nr
-
void clear_bit_atomic(long nr, unsigned long *addr)
Parameters
long nr
-
void change_bit(long nr, unsigned long *addr)
Parameters
long nr
-
int test_and_set_bit(long nr, unsigned long *addr)
Parameters
long nr
-
int test_and_clear_bit(long nr, unsigned long *addr)
Parameters
long nr
-
int test_and_change_bit(long nr, unsigned long *addr)
Parameters
long nr
-
int test_bit(long nr, const unsigned long *addr)
Parameters
long nr
-
unsigned long find_last_bit(const unsigned long *addr, unsigned long size)
Parameters
const unsigned long *addr
-
unsigned long find_next_bit(const unsigned long *addr, unsigned long size, unsigned long offset)
Parameters
const unsigned long *addr
-
unsigned long find_next_zero_bit(const unsigned long *addr, unsigned long size, unsigned long offset)
Parameters
const unsigned long *addr
-
unsigned long find_first_bit(const unsigned long *addr, unsigned long size)
Parameters
const unsigned long *addr
-
unsigned long find_first_zero_bit(const unsigned long *addr, unsigned long size)
Parameters
const unsigned long *addr
-
uint8_t rol8(uint8_t word, unsigned int shift)
Parameters
uint8_t word
-
uint8_t ror8(uint8_t word, unsigned int shift)
Parameters
uint8_t word
-
uint16_t rol16(uint16_t word, unsigned int shift)
Parameters
uint16_t word
-
uint16_t ror16(uint16_t word, unsigned int shift)
Parameters
uint16_t word
-
uint32_t rol32(uint32_t word, unsigned int shift)
Parameters
uint32_t word
-
uint32_t ror32(uint32_t word, unsigned int shift)
Parameters
uint32_t word
-
uint64_t rol64(uint64_t word, unsigned int shift)
Parameters
uint64_t word
-
uint64_t ror64(uint64_t word, unsigned int shift)
Parameters
uint64_t word
-
uint32_t hswap32(uint32_t h)
Parameters
uint32_t h
-
uint64_t hswap64(uint64_t h)
Parameters
uint64_t h
-
uint64_t wswap64(uint64_t h)
Parameters
uint64_t h
-
uint32_t extract32(uint32_t value, int start, int length)
Parameters
uint32_t value
-
uint8_t extract8(uint8_t value, int start, int length)
Parameters
uint8_t value
-
uint16_t extract16(uint16_t value, int start, int length)
Parameters
uint16_t value
-
uint64_t extract64(uint64_t value, int start, int length)
Parameters
uint64_t value
-
int32_t sextract32(uint32_t value, int start, int length)
Parameters
uint32_t value
-
int64_t sextract64(uint64_t value, int start, int length)
Parameters
uint64_t value
-
uint32_t deposit32(uint32_t value, int start, int length, uint32_t fieldval)
Parameters
uint32_t value
-
uint64_t deposit64(uint64_t value, int start, int length, uint64_t fieldval)
Parameters
uint64_t value
-
uint32_t half_shuffle32(uint32_t x)
Parameters
uint32_t x
-
uint64_t half_shuffle64(uint64_t x)
Parameters
uint64_t x
-
uint32_t half_unshuffle32(uint32_t x)
Parameters
uint32_t x
-
uint64_t half_unshuffle64(uint64_t x)
Parameters
uint64_t x