|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] vtd: interrupt remapping fix
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1256289202 -3600
# Node ID 6bb2ea81491620e6aabbebed2da99ffd77da53b0
# Parent f760735bbcdf44b0b189ec79c6015f5267ae23dc
vtd: 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>
---
xen/drivers/passthrough/vtd/intremap.c | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff -r f760735bbcdf -r 6bb2ea814916 xen/drivers/passthrough/vtd/intremap.c
--- a/xen/drivers/passthrough/vtd/intremap.c Fri Oct 23 10:12:52 2009 +0100
+++ b/xen/drivers/passthrough/vtd/intremap.c Fri Oct 23 10:13:22 2009 +0100
@@ -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-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] vtd: interrupt remapping fix,
Xen patchbot-unstable <=
|
|
|
|
|