]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
xen/intr: fix the event channel enabled per-cpu mask
authorroyger <royger@FreeBSD.org>
Thu, 5 Nov 2015 14:33:46 +0000 (14:33 +0000)
committerroyger <royger@FreeBSD.org>
Thu, 5 Nov 2015 14:33:46 +0000 (14:33 +0000)
commit1e8c98e50165316b7a83c12342caaf64d0364a25
treec3ec11c4671476a88a8719ef5f24e7898dfb4ef0
parent9614edb1e1641235b9e6a493e7b56a5c07bc0165
xen/intr: fix the event channel enabled per-cpu mask

Fix two issues with the current event channel code, first ENABLED_SETSIZE is
not correctly defined and then using a BITSET to store the per-cpu masks is
not portable to other arches, since on arm32 the event channel arrays shared
with the hypervisor are of type uint64_t and not long. Partially restore the
previous code but switch the bit operations to use the recently introduced
xen_{set/clear/test}_bit versions.

Reviewed by: Julien Grall <julien.grall@citrix.com>
Sponsored by: Citrix Systems R&D
Differential Revision: https://reviews.freebsd.org/D4080
sys/x86/xen/xen_intr.c
sys/xen/xen-os.h