x86: enable multi-vector MSI
authorJan Beulich <jbeulich@suse.com>
Thu, 8 Aug 2013 09:12:14 +0000 (11:12 +0200)
committerJan Beulich <jbeulich@suse.com>
Thu, 8 Aug 2013 09:12:14 +0000 (11:12 +0200)
commitd1b6d0a02489c2d0e237d03e1d8af8d11df53b05
tree63f46916a9ffd60319ae7da560bee26bc00b456b
parentfe6df5abc40ba9928b25e84a9e2aa7434ce76283
x86: enable multi-vector MSI

This implies
- extending the public interface to have a way to request a block of
  MSIs
- allocating a block of contiguous pIRQ-s for the target domain (but
  note that the Xen IRQs allocated have no need of being contiguous)
- repeating certain operations for all involved IRQs
- fixing multi_msi_enable()
- adjusting the mask bit accesses for maskable MSIs

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Keir Fraser <keir@xen.org>
xen/arch/x86/irq.c
xen/arch/x86/msi.c
xen/arch/x86/physdev.c
xen/include/asm-x86/irq.h
xen/include/asm-x86/msi.h
xen/include/public/physdev.h