From: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
To: Marcel Apfelbaum <marcel@redhat.com>,
qemu-devel@nongnu.org, akrowiak@linux.vnet.ibm.com
Cc: pbonzini@redhat.com, armbru@redhat.com
Subject: Re: [Qemu-devel] [PATCH for-2.3] util/qemu-config" fix regression of qmp_query_command_line_options
Date: Wed, 01 Apr 2015 17:13:08 +0300 [thread overview]
Message-ID: <551BFCF4.1040206@gmail.com> (raw)
In-Reply-To: <1427897284-31473-1-git-send-email-marcel@redhat.com>
I noticed the typo in subject :) maybe the maintainer that will take
it can fix this if no further work is necessary, of course.
On 04/01/2015 05:08 PM, Marcel Apfelbaum wrote:
> Commit 49d2e64 (machine: remove qemu_machine_opts global list) made
> machine machine options specific to machine sub-type, leaving
> the qemu_machine_opts desc array empty. Sadly this is the place
> qmp_query_command_line_options is looking for supported options.
>
> As a fix for for 2.3 the machine_qemu_opts are restored only
> for the scope of qemu-config, bringing together all machines
> properties. We need to find a better fix for 2.4.
>
> Reported-by: Tony Krowiak <akrowiak@linux.vnet.ibm.com>
Hi Tony,
I'll appreciate if you check that it works now.
I checked query-command-line-options and it returns the machine options for now.
No further changes should be necessary,
Thanks,
Marcel
> Signed-off-by: Marcel Apfelbaum <marcel@redhat.com>
> ---
>
> I don't like this approach, but I wouldn't want to loose the
> 'options per machine type' feature. We'll find something better for 2.4/
>
> util/qemu-config.c | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 108 insertions(+)
>
> diff --git a/util/qemu-config.c b/util/qemu-config.c
> index f3463df..9e8edda 100644
> --- a/util/qemu-config.c
> +++ b/util/qemu-config.c
> @@ -6,6 +6,7 @@
> #include "hw/qdev.h"
> #include "qapi/error.h"
> #include "qmp-commands.h"
> +#include "hw/i386/pc.h"
>
> static QemuOptsList *vm_config_groups[32];
> static QemuOptsList *drive_config_groups[4];
> @@ -148,6 +149,111 @@ static CommandLineParameterInfoList *get_drive_infolist(void)
> return head;
> }
>
> +/* restore machine options that are now machine's properties */
> +static QemuOptsList machine_opts = {
> + .merge_lists = true,
> + .head = QTAILQ_HEAD_INITIALIZER(machine_opts.head),
> + .desc = {
> + {
> + .name = "type",
> + .type = QEMU_OPT_STRING,
> + .help = "emulated machine"
> + },{
> + .name = "accel",
> + .type = QEMU_OPT_STRING,
> + .help = "accelerator list",
> + },{
> + .name = "kernel_irqchip",
> + .type = QEMU_OPT_BOOL,
> + .help = "use KVM in-kernel irqchip",
> + },{
> + .name = "kvm_shadow_mem",
> + .type = QEMU_OPT_SIZE,
> + .help = "KVM shadow MMU size",
> + },{
> + .name = "kernel",
> + .type = QEMU_OPT_STRING,
> + .help = "Linux kernel image file",
> + },{
> + .name = "initrd",
> + .type = QEMU_OPT_STRING,
> + .help = "Linux initial ramdisk file",
> + },{
> + .name = "append",
> + .type = QEMU_OPT_STRING,
> + .help = "Linux kernel command line",
> + },{
> + .name = "dtb",
> + .type = QEMU_OPT_STRING,
> + .help = "Linux kernel device tree file",
> + },{
> + .name = "dumpdtb",
> + .type = QEMU_OPT_STRING,
> + .help = "Dump current dtb to a file and quit",
> + },{
> + .name = "phandle_start",
> + .type = QEMU_OPT_NUMBER,
> + .help = "The first phandle ID we may generate dynamically",
> + },{
> + .name = "dt_compatible",
> + .type = QEMU_OPT_STRING,
> + .help = "Overrides the \"compatible\" property of the dt root node",
> + },{
> + .name = "dump-guest-core",
> + .type = QEMU_OPT_BOOL,
> + .help = "Include guest memory in a core dump",
> + },{
> + .name = "mem-merge",
> + .type = QEMU_OPT_BOOL,
> + .help = "enable/disable memory merge support",
> + },{
> + .name = "usb",
> + .type = QEMU_OPT_BOOL,
> + .help = "Set on/off to enable/disable usb",
> + },{
> + .name = "firmware",
> + .type = QEMU_OPT_STRING,
> + .help = "firmware image",
> + },{
> + .name = "kvm-type",
> + .type = QEMU_OPT_STRING,
> + .help = "Specifies the KVM virtualization mode (HV, PR)",
> + },{
> + .name = PC_MACHINE_MAX_RAM_BELOW_4G,
> + .type = QEMU_OPT_SIZE,
> + .help = "maximum ram below the 4G boundary (32bit boundary)",
> + },{
> + .name = PC_MACHINE_VMPORT,
> + .type = QEMU_OPT_STRING,
> + .help = "Enable vmport (pc & q35)",
> + },{
> + .name = "iommu",
> + .type = QEMU_OPT_BOOL,
> + .help = "Set on/off to enable/disable Intel IOMMU (VT-d)",
> + },{
> + .name = "secure",
> + .type = QEMU_OPT_BOOL,
> + .help = "Set on/off to enable/disable the ARM "
> + "Security Extensions (TrustZone)",
> + },{
> + .name = "suppress-vmdesc",
> + .type = QEMU_OPT_BOOL,
> + .help = "Set on to disable self-describing migration",
> + },{
> + .name = "aes-key-wrap",
> + .type = QEMU_OPT_BOOL,
> + .help = "enable/disable AES key wrapping using the "
> + "CPACF wrapping key",
> + },{
> + .name = "dea-key-wrap",
> + .type = QEMU_OPT_BOOL,
> + .help = "enable/disable DEA key wrapping using the "
> + "CPACF wrapping key",
> + },
> + { /* End of list */ }
> + }
> +};
> +
> CommandLineOptionInfoList *qmp_query_command_line_options(bool has_option,
> const char *option,
> Error **errp)
> @@ -162,6 +268,8 @@ CommandLineOptionInfoList *qmp_query_command_line_options(bool has_option,
> info->option = g_strdup(vm_config_groups[i]->name);
> if (!strcmp("drive", vm_config_groups[i]->name)) {
> info->parameters = get_drive_infolist();
> + } else if (!strcmp("machine", vm_config_groups[i]->name)) {
> + info->parameters = query_option_descs(machine_opts.desc);
> } else {
> info->parameters =
> query_option_descs(vm_config_groups[i]->desc);
>
next prev parent reply other threads:[~2015-04-01 14:13 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-01 14:08 [Qemu-devel] [PATCH for-2.3] util/qemu-config" fix regression of qmp_query_command_line_options Marcel Apfelbaum
2015-04-01 14:13 ` Marcel Apfelbaum [this message]
2015-04-01 18:41 ` Tony Krowiak
2015-04-01 15:17 ` Eric Blake
2015-04-01 16:30 ` Eric Blake
2015-04-01 16:49 ` Marcel Apfelbaum
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=551BFCF4.1040206@gmail.com \
--to=marcel.apfelbaum@gmail.com \
--cc=akrowiak@linux.vnet.ibm.com \
--cc=armbru@redhat.com \
--cc=marcel@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.