From patchwork Tue Jan 27 16:29:17 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Kiszka X-Patchwork-Id: 4106 Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id n0RGTRKB027692 for ; Tue, 27 Jan 2009 16:29:27 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753385AbZA0Q3Z (ORCPT ); Tue, 27 Jan 2009 11:29:25 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753441AbZA0Q3Z (ORCPT ); Tue, 27 Jan 2009 11:29:25 -0500 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 Received: from mail1.sbs.de (localhost [127.0.0.1]) by gecko.sbs.de (8.12.11.20060308/8.12.11) with ESMTP id n0RGTDmt026416; Tue, 27 Jan 2009 17:29:15 +0100 Received: from [139.25.109.167] (mchn012c.mchp.siemens.de [139.25.109.167] (may be forged)) by mail1.sbs.de (8.12.11.20060308/8.12.11) with ESMTP id n0RGTDj6013395; Tue, 27 Jan 2009 17:29:13 +0100 Message-ID: <497F365D.7000302@siemens.com> Date: Tue, 27 Jan 2009 17:29:17 +0100 From: Jan Kiszka User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 MIME-Version: 1.0 To: Marcelo Tosatti CC: Avi Kivity , kvm-devel Subject: [PATCH] external modules: Fix pre-2.6.18 kernels Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org 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(-) -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html 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 }