| 161 | } |
| 162 | |
| 163 | static void |
| 164 | ccp_bitmap_set(unsigned long *map, unsigned int start, int len) |
| 165 | { |
| 166 | unsigned long *p = map + WORD_OFFSET(start); |
| 167 | const unsigned int size = start + len; |
| 168 | int bits_to_set = BITS_PER_WORD - (start % BITS_PER_WORD); |
| 169 | unsigned long mask_to_set = CCP_BITMAP_FIRST_WORD_MASK(start); |
| 170 | |
| 171 | while (len - bits_to_set >= 0) { |
| 172 | *p |= mask_to_set; |
| 173 | len -= bits_to_set; |
| 174 | bits_to_set = BITS_PER_WORD; |
| 175 | mask_to_set = ~0UL; |
| 176 | p++; |
| 177 | } |
| 178 | if (len) { |
| 179 | mask_to_set &= CCP_BITMAP_LAST_WORD_MASK(size); |
| 180 | *p |= mask_to_set; |
| 181 | } |
| 182 | } |
| 183 | |
| 184 | static void |
| 185 | ccp_bitmap_clear(unsigned long *map, unsigned int start, int len) |
no outgoing calls
no test coverage detected