From f1f4b57e88ff7c9cb20b074ff6106fd8f4397baa Mon Sep 17 00:00:00 2001 From: Victor CLEMENT Date: Fri, 29 May 2015 17:14:05 +0200 Subject: icount: add sleep parameter to the icount option to set icount_sleep mode The 'sleep' parameter sets the icount_sleep mode, which is enabled by default. To disable it, add the 'sleep=no' parameter (or 'nosleep') to the qemu -icount option. Signed-off-by: Victor CLEMENT Message-Id: <1432912446-9811-3-git-send-email-victor.clement@openwide.fr> Signed-off-by: Paolo Bonzini --- cpus.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'cpus.c') diff --git a/cpus.c b/cpus.c index 688eb73ec2..4e90e63b43 100644 --- a/cpus.c +++ b/cpus.c @@ -520,11 +520,18 @@ void configure_icount(QemuOpts *opts, Error **errp) } return; } + + icount_sleep = qemu_opt_get_bool(opts, "sleep", true); if (icount_sleep) { icount_warp_timer = timer_new_ns(QEMU_CLOCK_VIRTUAL_RT, icount_warp_rt, NULL); } + icount_align_option = qemu_opt_get_bool(opts, "align", false); + + if (icount_align_option && !icount_sleep) { + error_setg(errp, "align=on and sleep=no are incompatible"); + } if (strcmp(option, "auto") != 0) { errno = 0; icount_time_shift = strtol(option, &rem_str, 0); @@ -535,6 +542,8 @@ void configure_icount(QemuOpts *opts, Error **errp) return; } else if (icount_align_option) { error_setg(errp, "shift=auto and align=on are incompatible"); + } else if (!icount_sleep) { + error_setg(errp, "shift=auto and sleep=no are incompatible"); } use_icount = 2; -- cgit v1.2.3