From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40175) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VuOZm-00007Q-H6 for qemu-devel@nongnu.org; Sat, 21 Dec 2013 10:34:54 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VuOZY-00035F-8H for qemu-devel@nongnu.org; Sat, 21 Dec 2013 10:34:50 -0500 Received: from hall.aurel32.net ([2001:bc8:30d7:101::1]:46167) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VuOZY-00032p-1e for qemu-devel@nongnu.org; Sat, 21 Dec 2013 10:34:36 -0500 Date: Sat, 21 Dec 2013 16:34:12 +0100 From: Aurelien Jarno Message-ID: <20131221153412.GA8989@ohm.rr44.fr> References: <1387203165-5553-1-git-send-email-james.hogan@imgtec.com> <1387203165-5553-2-git-send-email-james.hogan@imgtec.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline In-Reply-To: <1387203165-5553-2-git-send-email-james.hogan@imgtec.com> Subject: Re: [Qemu-devel] [PATCH v2 01/10] hw/mips/cputimer: Don't start periodic timer in KVM mode List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: James Hogan Cc: Paolo Bonzini , Gleb Natapov , qemu-devel@nongnu.org, kvm@vger.kernel.org, Sanjay Lal On Mon, Dec 16, 2013 at 02:12:36PM +0000, James Hogan wrote: > From: Sanjay Lal > > Compare/Count timer interrupts are handled in-kernel for KVM, so don't > bother starting it in QEMU. > > Signed-off-by: Sanjay Lal > Signed-off-by: James Hogan > Cc: Aurelien Jarno > --- > Changes in v2: > - Expand commit message > - Rebase on v1.7.0 > - Wrap comment > --- > hw/mips/cputimer.c | 13 ++++++++++--- > 1 file changed, 10 insertions(+), 3 deletions(-) > > diff --git a/hw/mips/cputimer.c b/hw/mips/cputimer.c > index c8b4b00..52570fd 100644 > --- a/hw/mips/cputimer.c > +++ b/hw/mips/cputimer.c > @@ -23,6 +23,7 @@ > #include "hw/hw.h" > #include "hw/mips/cpudevs.h" > #include "qemu/timer.h" > +#include "sysemu/kvm.h" > > #define TIMER_FREQ 100 * 1000 * 1000 > > @@ -141,7 +142,13 @@ static void mips_timer_cb (void *opaque) > > void cpu_mips_clock_init (CPUMIPSState *env) > { > - env->timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, &mips_timer_cb, env); > - env->CP0_Compare = 0; > - cpu_mips_store_count(env, 1); > + /* > + * If we're in KVM mode, don't start the periodic timer, that is handled in > + * kernel. > + */ > + if (!kvm_enabled()) { > + env->timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, &mips_timer_cb, env); > + env->CP0_Compare = 0; > + cpu_mips_store_count(env, 1); > + } > } Reviewed-by: Aurelien Jarno -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurelien@aurel32.net http://www.aurel32.net