From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chien-Hua Yen Subject: Why guest is disallowed to change mask bit Date: Fri, 19 Oct 2012 11:45:23 -0700 Message-ID: <50819FC3.5050308@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org Hi, I am curious to know why Xen disallows guest to change the mask bit of MSI-X vector control as show in the comment out section in msixtbl_write(). Our SR-IOV driver got driver reload failure because it cannot enable interrupt. /* Do not allow the mask bit to be changed. */ #if 0 /* XXX * As the mask bit is the only defined bit in the word, and as the * host MSI-X code doesn't preserve the other bits anyway, doing * this is pointless. So for now just discard the write (also * saving us from having to determine the matching irq_desc). */ spin_lock_irqsave(&desc->lock, flags); orig = readl(virt); val &= ~PCI_MSIX_VECTOR_BITMASK; val |= orig & PCI_MSIX_VECTOR_BITMASK; writel(val, virt); spin_unlock_irqrestore(&desc->lock, flags); #endif r = X86EMUL_OKAY; Thanks. Chien