From mboxrd@z Thu Jan 1 00:00:00 1970 From: Espen Skoglund Subject: Re: [PATCH] Make new PCI device probe work with older hypervisors Date: Mon, 7 Jul 2008 14:54:45 +0100 Message-ID: <18546.8229.793718.252754@gargle.gargle.HOWL> References: <18546.3791.24322.404685@gargle.gargle.HOWL> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Keir Fraser Cc: xen-devel@lists.xensource.com, Espen Skoglund List-Id: xen-devel@lists.xenproject.org For older dom0 kernels Xen will not know which PCI devices exists in the system. This has the implication that a) IOMMU device assignment will not work, and b) assigning MSI interrupts will not work. The only way to avoid these "limitations" is to either perform PCI bus enumaration at startup or to create new pci_devs on deamand (e.g., when guest wants to assign an MSI to a new unknown device). Given that MSIs (and to a lesser extent IOMMUs) have only recently found their way into Xen, I'm not sure whether it calls for having to support a-few-weeks-old dom0s in Xen. eSk [Keir Fraser] > Thanks. One thing also -- do old dom0 kernels work with new Xen > (i.e., do we have compatibility both ways)? > -- Keir > On 7/7/08 13:40, "Espen Skoglund" wrote: >> Be a bit more forgiving if hyervisor does not implement the >> manage_pci_add hypercall. >> >> Signed-off-by: Espen Skoglund >> >> -- >> diff -r bb937c2f7382 drivers/xen/core/pci.c >> --- a/drivers/xen/core/pci.c Fri Jul 04 17:55:07 2008 +0100 >> +++ b/drivers/xen/core/pci.c Mon Jul 07 13:34:32 2008 +0100 >> @@ -19,7 +19,7 @@ >> manage_pci.devfn = pci_dev->devfn; >> >> r = HYPERVISOR_physdev_op(PHYSDEVOP_manage_pci_add, &manage_pci); >> - if (r) >> + if (r && r != -ENOSYS) >> return r; >> >> r = pci_bus_probe(dev); >> >> _______________________________________________ >> Xen-devel mailing list >> Xen-devel@lists.xensource.com >> http://lists.xensource.com/xen-devel