[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] Make new PCI device probe work with older hypervisors


  • To: Espen Skoglund <espen.skoglund@xxxxxxxxxxxxx>
  • From: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
  • Date: Mon, 07 Jul 2008 15:37:23 +0100
  • Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
  • Delivery-date: Mon, 07 Jul 2008 07:38:17 -0700
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AcjgPvfMNnlvakwyEd213wAX8io7RQ==
  • Thread-topic: [Xen-devel] [PATCH] Make new PCI device probe work with older hypervisors

As long as setups with older dom0 kernels do not suffer feature regression
when only the hypervisor is upgraded, I think it's fine.

 -- Keir

On 7/7/08 14:54, "Espen Skoglund" <espen.skoglund@xxxxxxxxxxxxx> wrote:

> 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" <espen.skoglund@xxxxxxxxxxxxx> wrote:
> 
>>> Be a bit more forgiving if hyervisor does not implement the
>>> manage_pci_add hypercall.
>>> 
>>> Signed-off-by: Espen Skoglund <espen.skoglund@xxxxxxxxxxxxx>
>>> 
>>> --
>>> 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@xxxxxxxxxxxxxxxxxxx
>>> http://lists.xensource.com/xen-devel
> 
> 
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.