BITSET cannot be used to store the per-cpu event channel masks because its
underlying storage is an array of longs. This is fine on x86, but on ARM the
event channel pending and masked arrays shared with the hypervisor is an
uint64_t regardless of the bitness of the guest. Switch back to using
xen_ulong_t, which will always match the type of the arrays shared with the
hypervisor.
For ARM{32/64} you will have to introduce a set of xen_{set/test/clean}_bit
functions, that will always use atomic_{...}_64 (because on ARM xen_ulong_t
is always 64bits).