sparsebit_idx_t
bool sparsebit_is_set(const struct sparsebit *sbit, sparsebit_idx_t idx);
sparsebit_idx_t idx, sparsebit_num_t num);
bool sparsebit_is_clear(const struct sparsebit *sbit, sparsebit_idx_t idx);
sparsebit_idx_t idx, sparsebit_num_t num);
sparsebit_idx_t sparsebit_first_set(const struct sparsebit *sbit);
sparsebit_idx_t sparsebit_first_clear(const struct sparsebit *sbit);
sparsebit_idx_t sparsebit_next_set(const struct sparsebit *sbit, sparsebit_idx_t prev);
sparsebit_idx_t sparsebit_next_clear(const struct sparsebit *sbit, sparsebit_idx_t prev);
sparsebit_idx_t sparsebit_next_set_num(const struct sparsebit *sbit,
sparsebit_idx_t start, sparsebit_num_t num);
sparsebit_idx_t sparsebit_next_clear_num(const struct sparsebit *sbit,
sparsebit_idx_t start, sparsebit_num_t num);
void sparsebit_set(struct sparsebit *sbitp, sparsebit_idx_t idx);
void sparsebit_set_num(struct sparsebit *sbitp, sparsebit_idx_t start,
void sparsebit_clear(struct sparsebit *sbitp, sparsebit_idx_t idx);
sparsebit_idx_t start, sparsebit_num_t num);
sparsebit_idx_t pg, base;
sparsebit_idx_t pg = 0;
sparsebit_idx_t idx)
sparsebit_idx_t idx, sparsebit_num_t num)
sparsebit_idx_t next_set;
sparsebit_idx_t sparsebit_first_set(const struct sparsebit *s)
sparsebit_idx_t sparsebit_first_clear(const struct sparsebit *s)
assert(nodep1->idx + MASK_BITS + nodep1->num_after != (sparsebit_idx_t) 0);
sparsebit_idx_t sparsebit_next_set(const struct sparsebit *s,
sparsebit_idx_t prev)
sparsebit_idx_t lowest_possible = prev + 1;
sparsebit_idx_t start;
sparsebit_idx_t first_num_after_idx = candidate->idx + MASK_BITS;
sparsebit_idx_t sparsebit_next_clear(const struct sparsebit *s,
sparsebit_idx_t prev)
sparsebit_idx_t lowest_possible = prev + 1;
sparsebit_idx_t idx;
sparsebit_idx_t sparsebit_next_set_num(const struct sparsebit *s,
sparsebit_idx_t start, sparsebit_num_t num)
sparsebit_idx_t idx;
sparsebit_idx_t sparsebit_next_clear_num(const struct sparsebit *s,
sparsebit_idx_t start, sparsebit_num_t num)
sparsebit_idx_t idx;
sparsebit_idx_t start, sparsebit_num_t num)
sparsebit_idx_t idx;
sparsebit_idx_t middle_start, middle_end;
sparsebit_idx_t start, sparsebit_num_t num)
sparsebit_idx_t idx;
sparsebit_idx_t middle_start, middle_end;
void sparsebit_set(struct sparsebit *s, sparsebit_idx_t idx)
void sparsebit_clear(struct sparsebit *s, sparsebit_idx_t idx)
sparsebit_set_num(s, 1, ~(sparsebit_idx_t) 0);
sparsebit_clear_num(s, 1, ~(sparsebit_idx_t) 0);
static size_t display_range(FILE *stream, sparsebit_idx_t low,
sparsebit_idx_t high, bool prepend_comma_space)
sparsebit_idx_t low, high;
sparsebit_idx_t idx; /* index of least-significant bit in mask */
sparsebit_idx_t first, last;
static bool get_value(sparsebit_idx_t idx)
static void operate(int code, sparsebit_idx_t first, sparsebit_idx_t last)
sparsebit_idx_t next;
{ .first = 0, .last = ~(sparsebit_idx_t)0, .set = true };
static struct node *node_find(const struct sparsebit *s, sparsebit_idx_t idx)
static struct node *node_add(struct sparsebit *s, sparsebit_idx_t idx)
static struct node *node_split(struct sparsebit *s, sparsebit_idx_t idx)
sparsebit_idx_t offset;
sparsebit_idx_t prev_highest_bit;
bool sparsebit_is_set(const struct sparsebit *s, sparsebit_idx_t idx)
static void bit_set(struct sparsebit *s, sparsebit_idx_t idx)
static void bit_clear(struct sparsebit *s, sparsebit_idx_t idx)
static inline sparsebit_idx_t node_first_set(struct node *nodep, int start)
static inline sparsebit_idx_t node_first_clear(struct node *nodep, int start)
sparsebit_idx_t idx, sparsebit_num_t num)
sparsebit_idx_t next_cleared;
sparsebit_idx_t i, last;
const sparsebit_idx_t lowest_page_in_region = gpa_base >> vm->page_shift;
sparsebit_idx_t i, j;