mirror of https://github.com/xemu-project/xemu.git
centralize handling of -icount
A simple patch to place together all handling of -icount. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
972abbe03b
commit
4e3de9e954
33
vl.c
33
vl.c
|
@ -701,8 +701,23 @@ static void icount_adjust_vm(void * opaque)
|
||||||
icount_adjust();
|
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.
|
/* Have both realtime and virtual time triggers for speed adjustment.
|
||||||
The realtime trigger catches emulated time passing too slowly,
|
The realtime trigger catches emulated time passing too slowly,
|
||||||
the virtual time trigger catches emulated time passing too fast.
|
the virtual time trigger catches emulated time passing too fast.
|
||||||
|
@ -4854,6 +4869,7 @@ int main(int argc, char **argv, char **envp)
|
||||||
uint32_t boot_devices_bitmap = 0;
|
uint32_t boot_devices_bitmap = 0;
|
||||||
int i;
|
int i;
|
||||||
int snapshot, linux_boot, net_boot;
|
int snapshot, linux_boot, net_boot;
|
||||||
|
const char *icount_option = NULL;
|
||||||
const char *initrd_filename;
|
const char *initrd_filename;
|
||||||
const char *kernel_filename, *kernel_cmdline;
|
const char *kernel_filename, *kernel_cmdline;
|
||||||
char boot_devices[33] = "cad"; /* default to HD->floppy->CD-ROM */
|
char boot_devices[33] = "cad"; /* default to HD->floppy->CD-ROM */
|
||||||
|
@ -5618,12 +5634,7 @@ int main(int argc, char **argv, char **envp)
|
||||||
tb_size = 0;
|
tb_size = 0;
|
||||||
break;
|
break;
|
||||||
case QEMU_OPTION_icount:
|
case QEMU_OPTION_icount:
|
||||||
use_icount = 1;
|
icount_option = optarg;
|
||||||
if (strcmp(optarg, "auto") == 0) {
|
|
||||||
icount_time_shift = -1;
|
|
||||||
} else {
|
|
||||||
icount_time_shift = strtol(optarg, NULL, 0);
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case QEMU_OPTION_incoming:
|
case QEMU_OPTION_incoming:
|
||||||
incoming = optarg;
|
incoming = optarg;
|
||||||
|
@ -5870,13 +5881,7 @@ int main(int argc, char **argv, char **envp)
|
||||||
fprintf(stderr, "could not initialize alarm timer\n");
|
fprintf(stderr, "could not initialize alarm timer\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
if (use_icount && icount_time_shift < 0) {
|
configure_icount(icount_option);
|
||||||
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();
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
socket_init();
|
socket_init();
|
||||||
|
|
Loading…
Reference in New Issue