[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-4.0-testing] VT-d: Hardware require RH bit to be set in IRTE when delivery mode is LPR
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1283155028 -3600 # Node ID 0aafca182acf609bff75425ed85bd5c06d455073 # Parent ab1fb1b8b569ef78ac352a5ff4524d0fae80945a VT-d: Hardware require RH bit to be set in IRTE when delivery mode is LPR Signed-off-by: Sheng Yang <sheng@xxxxxxxxxxxxxxx> xen-unstable changeset: 3c4c3d48a835 xen-unstable date: Thu Aug 26 11:16:56 2010 +0100 --- xen/drivers/passthrough/vtd/intremap.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff -r ab1fb1b8b569 -r 0aafca182acf xen/drivers/passthrough/vtd/intremap.c --- a/xen/drivers/passthrough/vtd/intremap.c Mon Aug 30 08:56:37 2010 +0100 +++ b/xen/drivers/passthrough/vtd/intremap.c Mon Aug 30 08:57:08 2010 +0100 @@ -318,9 +318,10 @@ static int ioapic_rte_to_remap_entry(str *(((u32 *)&new_rte) + 0) = value; new_ire.lo.fpd = 0; new_ire.lo.dm = new_rte.dest_mode; - new_ire.lo.rh = 0; new_ire.lo.tm = new_rte.trigger; new_ire.lo.dlm = new_rte.delivery_mode; + /* Hardware require RH = 1 for LPR delivery mode */ + new_ire.lo.rh = (new_ire.lo.dlm == dest_LowestPrio); new_ire.lo.avail = 0; new_ire.lo.res_1 = 0; new_ire.lo.vector = new_rte.vector; @@ -630,9 +631,10 @@ static int msi_msg_to_remap_entry( /* Set interrupt remapping table entry */ new_ire.lo.fpd = 0; new_ire.lo.dm = (msg->address_lo >> MSI_ADDR_DESTMODE_SHIFT) & 0x1; - new_ire.lo.rh = 0; new_ire.lo.tm = (msg->data >> MSI_DATA_TRIGGER_SHIFT) & 0x1; new_ire.lo.dlm = (msg->data >> MSI_DATA_DELIVERY_MODE_SHIFT) & 0x1; + /* Hardware require RH = 1 for LPR delivery mode */ + new_ire.lo.rh = (new_ire.lo.dlm == dest_LowestPrio); new_ire.lo.avail = 0; new_ire.lo.res_1 = 0; new_ire.lo.vector = (msg->data >> MSI_DATA_VECTOR_SHIFT) & _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |