NBPL
unsigned long mask = 1UL << (bit % NBPL);
return !!(atomic_load_acq_xen_ulong(&addr[bit / NBPL]) & mask);
atomic_set_xen_ulong(&addr[bit / NBPL], 1UL << (bit % NBPL));
atomic_clear_xen_ulong(&addr[bit / NBPL], 1UL << (bit % NBPL));