Re: [PATCH] external modules: Fix pre-2.6.18 kernels

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

 



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 <jan.kiszka@xxxxxxxxxxx>
> > ---
> > 
> >  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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux