If certain devices (like the local or the io apic) are disabled some modes of operation of the HVM event channel callback cannot be used. Make sure Xen doesn't try to setup them.
Signed-off-by: Roger Pau Monné <roger....@citrix.com> Cc: Jan Beulich <jbeul...@suse.com> Cc: Andrew Cooper <andrew.coop...@citrix.com> --- xen/arch/x86/hvm/irq.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/xen/arch/x86/hvm/irq.c b/xen/arch/x86/hvm/irq.c index 990a2ca..b5f5b05 100644 --- a/xen/arch/x86/hvm/irq.c +++ b/xen/arch/x86/hvm/irq.c @@ -330,6 +330,10 @@ void hvm_set_callback_via(struct domain *d, uint64_t via) (via_type > HVMIRQ_callback_vector) ) via_type = HVMIRQ_callback_none; + if ( via_type != HVMIRQ_callback_vector && + (!has_vlapic(d) || !has_vioapic(d)) ) + return; + spin_lock(&d->arch.hvm_domain.irq_lock); /* Tear down old callback via. */ -- 1.9.5 (Apple Git-50.3) _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel