From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NpJJp-0008Jm-AU for qemu-devel@nongnu.org; Wed, 10 Mar 2010 05:39:13 -0500 Received: from [199.232.76.173] (port=52784 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NpJJn-0008I5-4f for qemu-devel@nongnu.org; Wed, 10 Mar 2010 05:39:11 -0500 Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1NpJJm-0004uc-7Y for qemu-devel@nongnu.org; Wed, 10 Mar 2010 05:39:10 -0500 Received: from ey-out-1920.google.com ([74.125.78.147]:61296) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NpJJl-0004sn-Qx for qemu-devel@nongnu.org; Wed, 10 Mar 2010 05:39:10 -0500 Received: by ey-out-1920.google.com with SMTP id 5so4373191eyb.14 for ; Wed, 10 Mar 2010 02:39:09 -0800 (PST) Sender: Paolo Bonzini From: Paolo Bonzini Date: Wed, 10 Mar 2010 11:38:48 +0100 Message-Id: <1268217535-26554-12-git-send-email-pbonzini@redhat.com> In-Reply-To: <1268217535-26554-1-git-send-email-pbonzini@redhat.com> References: <1268217535-26554-1-git-send-email-pbonzini@redhat.com> Subject: [Qemu-devel] [PATCH 11/18] centralize handling of -icount List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org A simple patch to place together all handling of -icount. Signed-off-by: Paolo Bonzini --- vl.c | 33 +++++++++++++++++++-------------- 1 files changed, 19 insertions(+), 14 deletions(-) diff --git a/vl.c b/vl.c index 6cd77e6..d05bae5 100644 --- a/vl.c +++ b/vl.c @@ -701,8 +701,23 @@ static void icount_adjust_vm(void * opaque) icount_adjust(); } -static void init_icount_adjust(void) +static void configure_icount(const char *option) { + if (!option) + return; + + if (strcmp(option, "auto") != 0) { + icount_time_shift = strtol(option, NULL, 0); + use_icount = 1; + return; + } + + use_icount = 2; + + /* 125MIPS seems a reasonable initial guess at the guest speed. + It will be corrected fairly quickly anyway. */ + icount_time_shift = 3; + /* Have both realtime and virtual time triggers for speed adjustment. The realtime trigger catches emulated time passing too slowly, the virtual time trigger catches emulated time passing too fast. @@ -4855,6 +4870,7 @@ int main(int argc, char **argv, char **envp) uint32_t boot_devices_bitmap = 0; int i; int snapshot, linux_boot, net_boot; + const char *icount_option = NULL; const char *initrd_filename; const char *kernel_filename, *kernel_cmdline; char boot_devices[33] = "cad"; /* default to HD->floppy->CD-ROM */ @@ -5605,12 +5621,7 @@ int main(int argc, char **argv, char **envp) tb_size = 0; break; case QEMU_OPTION_icount: - use_icount = 1; - if (strcmp(optarg, "auto") == 0) { - icount_time_shift = -1; - } else { - icount_time_shift = strtol(optarg, NULL, 0); - } + icount_option = optarg; break; case QEMU_OPTION_incoming: incoming = optarg; @@ -5856,13 +5867,7 @@ int main(int argc, char **argv, char **envp) fprintf(stderr, "could not initialize alarm timer\n"); exit(1); } - if (use_icount && icount_time_shift < 0) { - use_icount = 2; - /* 125MIPS seems a reasonable initial guess at the guest speed. - It will be corrected fairly quickly anyway. */ - icount_time_shift = 3; - init_icount_adjust(); - } + configure_icount(icount_option); #ifdef _WIN32 socket_init(); -- 1.6.6