|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] [PATCH] [IOMMU] interrupt remapping fix
Fix the error of translation from int remapping table entry(IRTE) to MSI
msg. This error may write wrong IRTE back to the VTd hardware, and
block physical interrupts.
Signed-Off-By: Zhai Edwin <edwin.zhai@xxxxxxxxx>
--
best rgds,
edwin
Index: xen-dev/xen/drivers/passthrough/vtd/intremap.c
===================================================================
--- xen-dev.orig/xen/drivers/passthrough/vtd/intremap.c
+++ xen-dev/xen/drivers/passthrough/vtd/intremap.c
@@ -468,8 +468,12 @@ static int remap_entry_to_msi_msg(
MSI_ADDR_DESTMODE_LOGIC) |
((iremap_entry->lo.dlm != dest_LowestPrio) ?
MSI_ADDR_REDIRECTION_CPU:
- MSI_ADDR_REDIRECTION_LOWPRI) |
- iremap_entry->lo.dst >> 8;
+ MSI_ADDR_REDIRECTION_LOWPRI);
+ if ( x2apic_enabled )
+ msg->dest32 = iremap_entry->lo.dst;
+ else
+ msg->address_lo |=
+ ((iremap_entry->lo.dst >> 8) & 0xff ) << MSI_ADDR_DEST_ID_SHIFT;
msg->data =
MSI_DATA_TRIGGER_EDGE |
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-devel] [PATCH] [IOMMU] interrupt remapping fix,
Zhai, Edwin <=
|
|
|
|
|