Fix the -accel parameter and the documentation for 'hax'
Since 'hax' is a possible accelerator nowadays, too, the '-accel' option should support it and we should mention this accelerator in the documentation, too. Signed-off-by: Thomas Huth <thuth@redhat.com> Message-Id: <1493875481-16388-1-git-send-email-thuth@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
6796b4008b
commit
bde4d9205e
@ -31,7 +31,7 @@ DEF("machine", HAS_ARG, QEMU_OPTION_machine, \
|
|||||||
"-machine [type=]name[,prop[=value][,...]]\n"
|
"-machine [type=]name[,prop[=value][,...]]\n"
|
||||||
" selects emulated machine ('-machine help' for list)\n"
|
" selects emulated machine ('-machine help' for list)\n"
|
||||||
" property accel=accel1[:accel2[:...]] selects accelerator\n"
|
" property accel=accel1[:accel2[:...]] selects accelerator\n"
|
||||||
" supported accelerators are kvm, xen, tcg (default: tcg)\n"
|
" supported accelerators are kvm, xen, hax or tcg (default: tcg)\n"
|
||||||
" kernel_irqchip=on|off|split controls accelerated irqchip support (default=off)\n"
|
" kernel_irqchip=on|off|split controls accelerated irqchip support (default=off)\n"
|
||||||
" vmport=on|off|auto controls emulation of vmport (default: auto)\n"
|
" vmport=on|off|auto controls emulation of vmport (default: auto)\n"
|
||||||
" kvm_shadow_mem=size of KVM shadow MMU in bytes\n"
|
" kvm_shadow_mem=size of KVM shadow MMU in bytes\n"
|
||||||
@ -52,9 +52,9 @@ available machines. Supported machine properties are:
|
|||||||
@table @option
|
@table @option
|
||||||
@item accel=@var{accels1}[:@var{accels2}[:...]]
|
@item accel=@var{accels1}[:@var{accels2}[:...]]
|
||||||
This is used to enable an accelerator. Depending on the target architecture,
|
This is used to enable an accelerator. Depending on the target architecture,
|
||||||
kvm, xen, or tcg can be available. By default, tcg is used. If there is more
|
kvm, xen, hax or tcg can be available. By default, tcg is used. If there is
|
||||||
than one accelerator specified, the next one is used if the previous one fails
|
more than one accelerator specified, the next one is used if the previous one
|
||||||
to initialize.
|
fails to initialize.
|
||||||
@item kernel_irqchip=on|off
|
@item kernel_irqchip=on|off
|
||||||
Controls in-kernel irqchip support for the chosen accelerator when available.
|
Controls in-kernel irqchip support for the chosen accelerator when available.
|
||||||
@item gfx_passthru=on|off
|
@item gfx_passthru=on|off
|
||||||
@ -97,15 +97,15 @@ ETEXI
|
|||||||
|
|
||||||
DEF("accel", HAS_ARG, QEMU_OPTION_accel,
|
DEF("accel", HAS_ARG, QEMU_OPTION_accel,
|
||||||
"-accel [accel=]accelerator[,thread=single|multi]\n"
|
"-accel [accel=]accelerator[,thread=single|multi]\n"
|
||||||
" select accelerator ('-accel help for list')\n"
|
" select accelerator (kvm, xen, hax or tcg; use 'help' for a list)\n"
|
||||||
" thread=single|multi (enable multi-threaded TCG)", QEMU_ARCH_ALL)
|
" thread=single|multi (enable multi-threaded TCG)", QEMU_ARCH_ALL)
|
||||||
STEXI
|
STEXI
|
||||||
@item -accel @var{name}[,prop=@var{value}[,...]]
|
@item -accel @var{name}[,prop=@var{value}[,...]]
|
||||||
@findex -accel
|
@findex -accel
|
||||||
This is used to enable an accelerator. Depending on the target architecture,
|
This is used to enable an accelerator. Depending on the target architecture,
|
||||||
kvm, xen, or tcg can be available. By default, tcg is used. If there is more
|
kvm, xen, hax or tcg can be available. By default, tcg is used. If there is
|
||||||
than one accelerator specified, the next one is used if the previous one fails
|
more than one accelerator specified, the next one is used if the previous one
|
||||||
to initialize.
|
fails to initialize.
|
||||||
@table @option
|
@table @option
|
||||||
@item thread=single|multi
|
@item thread=single|multi
|
||||||
Controls number of TCG threads. When the TCG is multi-threaded there will be one
|
Controls number of TCG threads. When the TCG is multi-threaded there will be one
|
||||||
|
23
vl.c
23
vl.c
@ -3727,26 +3727,21 @@ int main(int argc, char **argv, char **envp)
|
|||||||
qdev_prop_register_global(&kvm_pit_lost_tick_policy);
|
qdev_prop_register_global(&kvm_pit_lost_tick_policy);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case QEMU_OPTION_accel:
|
case QEMU_OPTION_accel: {
|
||||||
|
QemuOpts *accel_opts;
|
||||||
|
|
||||||
accel_opts = qemu_opts_parse_noisily(qemu_find_opts("accel"),
|
accel_opts = qemu_opts_parse_noisily(qemu_find_opts("accel"),
|
||||||
optarg, true);
|
optarg, true);
|
||||||
optarg = qemu_opt_get(accel_opts, "accel");
|
optarg = qemu_opt_get(accel_opts, "accel");
|
||||||
|
if (!optarg || is_help_option(optarg)) {
|
||||||
olist = qemu_find_opts("machine");
|
error_printf("Possible accelerators: kvm, xen, hax, tcg\n");
|
||||||
if (strcmp("kvm", optarg) == 0) {
|
|
||||||
qemu_opts_parse_noisily(olist, "accel=kvm", false);
|
|
||||||
} else if (strcmp("xen", optarg) == 0) {
|
|
||||||
qemu_opts_parse_noisily(olist, "accel=xen", false);
|
|
||||||
} else if (strcmp("tcg", optarg) == 0) {
|
|
||||||
qemu_opts_parse_noisily(olist, "accel=tcg", false);
|
|
||||||
} else {
|
|
||||||
if (!is_help_option(optarg)) {
|
|
||||||
error_printf("Unknown accelerator: %s", optarg);
|
|
||||||
}
|
|
||||||
error_printf("Supported accelerators: kvm, xen, tcg\n");
|
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
accel_opts = qemu_opts_create(qemu_find_opts("machine"), NULL,
|
||||||
|
false, &error_abort);
|
||||||
|
qemu_opt_set(accel_opts, "accel", optarg, &error_abort);
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
case QEMU_OPTION_usb:
|
case QEMU_OPTION_usb:
|
||||||
olist = qemu_find_opts("machine");
|
olist = qemu_find_opts("machine");
|
||||||
qemu_opts_parse_noisily(olist, "usb=on", false);
|
qemu_opts_parse_noisily(olist, "usb=on", false);
|
||||||
|
Loading…
Reference in New Issue
Block a user