|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] xen vtd : set msi guest_masked 0 by default
There are some problems when msi guest_masked is set to 1 by default.
When guest os is windows 2008 r2 server,
the device(eg X540-AT2 vf) is not initialized correctly.
Host will always receive message like this :"VF Reset msg received from vf".
Guest has network connectivity issues,
and can not correctly receive/send the packet.
So, guest_masked is set to 0 by default.
Signed-off-by: Jianzhong,Chang <changjzh@xxxxxxxxx>
---
xen/arch/x86/msi.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
index 5a481f6..b4f60a3 100644
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
@@ -512,7 +512,7 @@ void guest_mask_msi_irq(struct irq_desc *desc, bool_t mask)
static unsigned int startup_msi_irq(struct irq_desc *desc)
{
- if ( unlikely(!msi_set_mask_bit(desc, 0, !!(desc->status & IRQ_GUEST))) )
+ if ( unlikely(!msi_set_mask_bit(desc, 0, 0) ))
WARN();
return 0;
}
@@ -972,7 +972,7 @@ static int msix_capability_init(struct pci_dev *dev,
entry->msi_attrib.entry_nr = msi->entry_nr;
entry->msi_attrib.maskbit = 1;
entry->msi_attrib.host_masked = 1;
- entry->msi_attrib.guest_masked = 1;
+ entry->msi_attrib.guest_masked = 0;
entry->msi_attrib.pos = pos;
entry->irq = msi->irq;
entry->dev = dev;
--
1.7.1
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |