From patchwork Mon Jan 26 01:55:16 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Clemens Noss X-Patchwork-Id: 3936 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 n0Q1tPf0011689 for ; Mon, 26 Jan 2009 01:55:25 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751004AbZAZBzW (ORCPT ); Sun, 25 Jan 2009 20:55:22 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751047AbZAZBzW (ORCPT ); Sun, 25 Jan 2009 20:55:22 -0500 Received: from mail.gmx.net ([213.165.64.20]:47136 "HELO mail.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1751004AbZAZBzV (ORCPT ); Sun, 25 Jan 2009 20:55:21 -0500 Received: (qmail invoked by alias); 26 Jan 2009 01:55:18 -0000 Received: from p4FD8EE62.dip.t-dialin.net (EHLO server.darmstadt.cn-net.local) [79.216.238.98] by mail.gmx.net (mp008) with SMTP; 26 Jan 2009 02:55:18 +0100 X-Authenticated: #1094420 X-Provags-ID: V01U2FsdGVkX18IqZEjHYwINSWfdO6CCwMOBsPsY2/vz08g6o1S6o 7F9N2cvu2pQRpk Received: from laptop10.darmstadt.cn-net.local ([192.168.10.169]) by server.darmstadt.cn-net.local (8.13.7/8.11.2) with ESMTP id n0Q1tH2c020914; Mon, 26 Jan 2009 02:55:17 +0100 Received: from laptop10.darmstadt.cn-net.local (localhost [127.0.0.1]) by laptop10.darmstadt.cn-net.local (8.14.0/8.14.0) with ESMTP id n0Q1tGl4020805; Mon, 26 Jan 2009 02:55:16 +0100 Received: (from root@localhost) by laptop10.darmstadt.cn-net.local (8.14.0/8.14.0/Submit) id n0Q1tGYM020802; Mon, 26 Jan 2009 02:55:16 +0100 From: Clemens Noss To: kvm@vger.kernel.org Cc: Clemens Noss Subject: [PATCH] kvm/lapic.c: fix "__moddi3 undefined" build failure Date: Mon, 26 Jan 2009 02:55:16 +0100 Message-Id: <1232934916-19565-1-git-send-email-cnoss@gmx.de> X-Mailer: git-send-email 1.6.1 X-Y-GMX-Trusted: 0 X-FuHaFi: 0.5 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org use mod_64 from arch/x86/kvm/i8254.c to fix ERROR: "__moddi3" [arch/x86/kvm/kvm.ko] undefined! Signed-off-by: Clemens Noss --- Patch against kvm/master branch, to fix the build failure reported by Randy Dunlap on lkml. My virtual machine still works. --- arch/x86/kvm/lapic.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-) diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c index d8adc50..f0b67f2 100644 --- a/arch/x86/kvm/lapic.c +++ b/arch/x86/kvm/lapic.c @@ -35,6 +35,12 @@ #include "kvm_cache_regs.h" #include "irq.h" +#ifndef CONFIG_X86_64 +#define mod_64(x, y) ((x) - (y) * div64_u64(x, y)) +#else +#define mod_64(x, y) ((x) % (y)) +#endif + #define PRId64 "d" #define PRIx64 "llx" #define PRIu64 "u" @@ -525,7 +531,7 @@ static u32 apic_get_tmcct(struct kvm_lapic *apic) if (ktime_to_ns(remaining) < 0) remaining = ktime_set(0, 0); - ns = ktime_to_ns(remaining) % apic->timer.period; + ns = mod_64(ktime_to_ns(remaining), apic->timer.period); tmcct = div64_u64(ns, (APIC_BUS_CYCLE_NS * apic->timer.divide_count)); return tmcct;