On Mon, Dec 16, 2013 at 02:12:36PM +, 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
aurel...@aurel32.net http://www.aurel32.net
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html