pass-through: update IRTE according to guest interrupt config changes
authorFeng Wu <feng.wu@intel.com>
Thu, 10 Dec 2015 12:13:33 +0000 (13:13 +0100)
committerJan Beulich <jbeulich@suse.com>
Thu, 10 Dec 2015 12:13:33 +0000 (13:13 +0100)
commit35a1caf8b6b5d026be83ed2aac0192a0c7274740
tree6b040520b703d27fc2ba985bb4d1151c1b58bb96
parent83ea922929df0a006c7e58070938b88502981ba7
pass-through: update IRTE according to guest interrupt config changes

When guest changes its interrupt configuration (such as, vector, etc.)
for direct-assigned devices, we need to update the associated IRTE
with the new guest vector, so external interrupts from the assigned
devices can be injected to guests without VM-Exit.

For lowest-priority interrupts, we use vector-hashing mechamisn to find
the destination vCPU. This follows the hardware behavior, since modern
Intel CPUs use vector hashing to handle the lowest-priority interrupt.

For multicast/broadcast vCPU, we cannot handle it via interrupt posting,
still use interrupt remapping.

Signed-off-by: Feng Wu <feng.wu@intel.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
xen/drivers/passthrough/io.c