|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] Re: [PATCH] VT-d: Hardware require RH bit to be set in IRTE
On Thursday 26 August 2010 17:24:40 Keir Fraser wrote:
> On 26/08/2010 10:17, "Sheng Yang" <sheng@xxxxxxxxxxxxxxx> wrote:
> > + /* Hardware require RH = 1 for LPR delivery mode */
> > + if ( new_ire.lo.dlm == dest_LowestPrio )
> > + new_ire.lo.rh = 1;
> > + else
> > + new_ire.lo.rh = 0;
>
> The form 'if ( p ) x = 1; else x = 0;' is better written as 'x = (p)'.
> Please re-submit in that style.
>
> -- Keir
Updated, thanks.
--
regards
Yang, Sheng
--
diff --git a/xen/drivers/passthrough/vtd/intremap.c
b/xen/drivers/passthrough/vtd/intremap.c
--- a/xen/drivers/passthrough/vtd/intremap.c
+++ b/xen/drivers/passthrough/vtd/intremap.c
@@ -320,9 +320,10 @@
*(((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;
@@ -632,9 +633,10 @@
/* 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) &
rh_fix.patch
Description: Text Data
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|