xen/events: bind all new interdomain events to VCPU0
authorDavid Vrabel <david.vrabel@citrix.com>
Wed, 5 Feb 2014 14:13:10 +0000 (14:13 +0000)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Tue, 11 Feb 2014 15:12:34 +0000 (10:12 -0500)
commit97253eeeb792d61ed22d397cfa236bd0311e4caf
tree02bf0848fd9f09366adcda001c024042baded341
parentafca50132cfa7bfc5646676d8c67dc18454f38f8
xen/events: bind all new interdomain events to VCPU0

Commit fc087e10734a4d3e40693fc099461ec1270b3fff (xen/events: remove
unnecessary init_evtchn_cpu_bindings()) causes a regression.

The kernel-side VCPU binding was not being correctly set for newly
allocated or bound interdomain events.  In ARM guests where 2-level
events were used, this would result in no interdomain events being
handled because the kernel-side VCPU masks would all be clear.

x86 guests would work because the irq affinity was set during irq
setup and this would set the correct kernel-side VCPU binding.

Fix this by properly initializing the kernel-side VCPU binding in
bind_evtchn_to_irq().

Reported-and-tested-by: Julien Grall <julien.grall@linaro.org>
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
drivers/xen/events/events_base.c