On Tue, Jan 27, 2009 at 03:51:08PM -0200, Marcelo Tosatti wrote:
> On Tue, Jan 27, 2009 at 05:29:17PM +0100, Jan Kiszka wrote:
> > pci_dev.msi_enabled was introduced in 2.6.18, thus building against
> > older kernels now fail. Fix via a compat wrapper.
> > 
> > Signed-off-by: Jan Kiszka <[email protected]>
> > ---
> > 
> >  kernel/external-module-compat-comm.h |    7 +++++++
> >  kernel/x86/hack-module.awk           |    2 ++
> >  2 files changed, 9 insertions(+), 0 deletions(-)
> > 
> > diff --git a/kernel/external-module-compat-comm.h 
> > b/kernel/external-module-compat-comm.h
> > index 06af36d..937ba12 100644
> > --- a/kernel/external-module-compat-comm.h
> > +++ b/kernel/external-module-compat-comm.h
> > @@ -718,3 +718,10 @@ static inline void cpumask_clear_cpu(int cpu, 
> > cpumask_var_t mask)
> >  #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28)
> >  #define marker_synchronize_unregister() synchronize_sched()
> >  #endif
> > +
> > +/* pci_dev.msi_enable was introduced in 2.6.18 */
> > +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18)
> > +#define kvm_pcidev_msi_enabled(dev)        1
> > +#else
> > +#define kvm_pcidev_msi_enabled(dev)        (dev)->msi_enabled
> > +#endif
> 
> I think this will break device assignment for if the device is not MSI
> capable (if works at all in such older kernels).
> 
> Need some other way to check if the device is MSI enabled. Perhaps
> PCI_MSI_FLAGS_ENABLE bit? Sheng?

Yes. I checked 2.6.17's code, seems if we indeed need this, the only way
is converting it to a function which read from PCI configuration space
and check PCI_MSI_FLAGS_ENABLE bit... (Or we can simply disable it for the
old ones, but I think it's not desired).

-- 
regards
Yang, Sheng     |Intel Opensource Technology Center
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to