[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



What kind of feature regressions are we talking about here?  Does
there exist some sort of list of what features Xen must support, or
must new hypervisors support all features that have ever been present
in xen-unstable.hg?

For machines supporting VT-d, removing the PCI enumeration from the
VT-d code means that older dom0 kernels will not work with the latest
hypervisor.  Is this unacceptable or is VT-d support considered an
experimental feature?

        eSk



[Keir Fraser]
> 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

_______________________________________________
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®.