Message ID | 20210219173847.2054123-10-philmd@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | hw/accel: Exit gracefully when accelerator is invalid | expand |
On 19/02/2021 17:38, Philippe Mathieu-Daudé wrote: > When started with other accelerator than Xen, the XenPV machine > fails with a criptic message: > > $ qemu-system-x86_64 -M xenpv,accel=kvm > xen be core: can't connect to xenstored > qemu-system-x86_64: xen_init_pv: xen backend core setup failed > > By restricting it to Xen, we display a clearer error message: > > $ qemu-system-x86_64 -M xenpv,accel=kvm > qemu-system-x86_64: invalid accelerator 'kvm' for machine xenpv > > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Acked-by: Paul Durrant <paul@xen.org>
diff --git a/hw/xenpv/xen_machine_pv.c b/hw/xenpv/xen_machine_pv.c index 8df575a457c..d7747bcec98 100644 --- a/hw/xenpv/xen_machine_pv.c +++ b/hw/xenpv/xen_machine_pv.c @@ -86,12 +86,17 @@ static void xen_init_pv(MachineState *machine) atexit(xen_config_cleanup); } +static const char *valid_accels[] = { + "xen", NULL +}; + static void xenpv_machine_init(MachineClass *mc) { mc->desc = "Xen Para-virtualized PC"; mc->init = xen_init_pv; mc->max_cpus = 1; mc->default_machine_opts = "accel=xen"; + mc->valid_accelerators = valid_accels; } DEFINE_MACHINE("xenpv", xenpv_machine_init)
When started with other accelerator than Xen, the XenPV machine fails with a criptic message: $ qemu-system-x86_64 -M xenpv,accel=kvm xen be core: can't connect to xenstored qemu-system-x86_64: xen_init_pv: xen backend core setup failed By restricting it to Xen, we display a clearer error message: $ qemu-system-x86_64 -M xenpv,accel=kvm qemu-system-x86_64: invalid accelerator 'kvm' for machine xenpv Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> --- hw/xenpv/xen_machine_pv.c | 5 +++++ 1 file changed, 5 insertions(+)