[PATCH] vl: Parse legacy default_machine_opts

Jason Andryuk posted 1 patch 2 years, 9 months ago
Failed in applying to current master (apply log)
There is a newer version of this series
softmmu/vl.c | 1 +
1 file changed, 1 insertion(+)
[PATCH] vl: Parse legacy default_machine_opts
Posted by Jason Andryuk 2 years, 9 months ago
qemu can't start a xen vm after commit d8fb7d0969d5
"vl: switch -M parsing to keyval" with:

$ ./qemu-system-i386 -M xenfv
Unexpected error in object_property_find_err() at ../qom/object.c:1298:
qemu-system-i386: Property 'xenfv-3.1-machine.accel' not found
Aborted (core dumped)

The default_machine_opts handling doesn't process the legacy machine
options like "accel".  Call qemu_apply_legacy_machine_options to provide
the legacy handling.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
---
 softmmu/vl.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/softmmu/vl.c b/softmmu/vl.c
index 4df1496101..f4d8630fc6 100644
--- a/softmmu/vl.c
+++ b/softmmu/vl.c
@@ -2126,6 +2126,7 @@ static void qemu_create_machine(QDict *qdict)
         QDict *default_opts =
             keyval_parse(machine_class->default_machine_opts, NULL, NULL,
                          &error_abort);
+        qemu_apply_legacy_machine_options(default_opts);
         object_set_properties_from_keyval(OBJECT(current_machine), default_opts,
                                           false, &error_abort);
         qobject_unref(default_opts);
-- 
2.30.2


Re: [PATCH] vl: Parse legacy default_machine_opts
Posted by Anthony PERARD 2 years, 9 months ago
On Mon, Jul 12, 2021 at 10:15:52PM -0400, Jason Andryuk wrote:
> qemu can't start a xen vm after commit d8fb7d0969d5
> "vl: switch -M parsing to keyval" with:
> 
> $ ./qemu-system-i386 -M xenfv
> Unexpected error in object_property_find_err() at ../qom/object.c:1298:
> qemu-system-i386: Property 'xenfv-3.1-machine.accel' not found
> Aborted (core dumped)
> 
> The default_machine_opts handling doesn't process the legacy machine
> options like "accel".  Call qemu_apply_legacy_machine_options to provide
> the legacy handling.
> 
> Signed-off-by: Jason Andryuk <jandryuk@gmail.com>

Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

I can't find a different way to set a default "accelerator" to a
machine, so this patch seems necessary.

Thanks,

> ---
>  softmmu/vl.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/softmmu/vl.c b/softmmu/vl.c
> index 4df1496101..f4d8630fc6 100644
> --- a/softmmu/vl.c
> +++ b/softmmu/vl.c
> @@ -2126,6 +2126,7 @@ static void qemu_create_machine(QDict *qdict)
>          QDict *default_opts =
>              keyval_parse(machine_class->default_machine_opts, NULL, NULL,
>                           &error_abort);
> +        qemu_apply_legacy_machine_options(default_opts);
>          object_set_properties_from_keyval(OBJECT(current_machine), default_opts,
>                                            false, &error_abort);
>          qobject_unref(default_opts);

-- 
Anthony PERARD

Re: [PATCH] vl: Parse legacy default_machine_opts
Posted by Paolo Bonzini 2 years, 9 months ago
On 22/07/21 16:12, Anthony PERARD via wrote:
> Reviewed-by: Anthony PERARD<anthony.perard@citrix.com>
> 
> I can't find a different way to set a default "accelerator" to a
> machine, so this patch seems necessary.

I agree, and I'll be sending a pull request shortly.

Paolo