This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] [PATCH] ioemu: passthough: add no_wb option for pci conf

To: Qing He <qing.he@xxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH] ioemu: passthough: add no_wb option for pci conf write
From: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
Date: Fri, 6 Nov 2009 18:16:59 +0000
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Fri, 06 Nov 2009 10:17:59 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20091106091756.GA29376@ub-qhe2>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Newsgroups: chiark.mail.xen.devel
References: <20091106091756.GA29376@ub-qhe2>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Qing He writes ("[Xen-devel] [PATCH] ioemu: passthough: add no_wb option for 
pci conf write"):
> Current pt_pci_write_config always writes back to real pci conf
> space. However, in the case of MSI address and data registers,
> if guest changes the affinity of the interrupt, stale data will
> be written to these registers. This is particularly a problem
> if Xen uses per-CPU vector, where the interrupt in question fails
> to work. This patch fixes this by adding an option to disable the
> write back of certain controls.

Thanks for this patch, which I have applied.

But I do have a question about it.  I hope you'll forgive my ignorance
about MSIs (I haven't read the reference manuals).

I don't think I fully understand the problem this is trying to fix.

There are two ways of updating the MSI address and data registers ?
Are they available via the space directly mapped into the guest as
well as via config space then ?

One of them is pt_pci_write_config (called when the guest writes to
PCI config space) and the other is used by the guest when it changes
affinity ?  Under what circumstances does pt_pci_write_config get used
for these registers ?


Xen-devel mailing list