From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Kiszka Subject: [PATCH] external modules: Fix pre-2.6.18 kernels Date: Tue, 27 Jan 2009 17:29:17 +0100 Message-ID: <497F365D.7000302@siemens.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Cc: Avi Kivity , kvm-devel To: Marcelo Tosatti Return-path: Received: from gecko.sbs.de ([194.138.37.40]:17677 "EHLO gecko.sbs.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753385AbZA0Q3Y (ORCPT ); Tue, 27 Jan 2009 11:29:24 -0500 Sender: kvm-owner@vger.kernel.org List-ID: 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 --- 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 diff --git a/kernel/x86/hack-module.awk b/kernel/x86/hack-module.awk index cc50856..dbca4d6 100644 --- a/kernel/x86/hack-module.awk +++ b/kernel/x86/hack-module.awk @@ -29,6 +29,8 @@ BEGIN { split("INIT_WORK tsc_khz desc_struct ldttss_desc64 desc_ptr " \ printf("MODULE_INFO(version, \"%s\");\n", version) } +{ sub(/match->dev->msi_enabled/, "kvm_pcidev_msi_enabled(match->dev)") } + /^static void __vmx_load_host_state/ { vmx_load_host_state = 1 }