On Thu, Mar 27, 2014 at 02:57:00PM +0800, Amos Kong wrote: > This patchset fixed some issues of query-command-line-options: > * some new options that haven't argument can't be queried. (eg: -enable-fips) > * some legacy options that have argument can't be queried. (eg: -vnc display) > > More discussion: > http://marc.info/?l=qemu-devel&m=139081830416684&w=2 > https://www.redhat.com/archives/libvir-list/2014-March/msg00318.html > > V2: remove duplicate option tables, update schema (eric) > V3: fix typo in commitlog and export qemu_options talbe (eric) > V4: avoid the duplicate static table (eric) > V5: rename new field, other fix (markus) > V6: add implied-name (eric, markus) > > Thanks for your review! Attached query output file, ([1] was additionally applied) [1] https://lists.gnu.org/archive/html/qemu-devel/2014-03/msg05175.html [PATCH 0/3] ABI change: change group name of option table to match with option name ---------------------- { "name": "order", "implied-name": true, <-- optional 'implied-name' was added "type": "string" \-boot c,menu=on / -boot order=c,menu=on } ], "option": "boot" <---- "boot-opts" was fixed by [1] }, ----------------------- { "parameters": [ ], "option": "enable-fips", <-- lost enable-fips was queried \ from qemu-options.hx "unspecified-parameters": false <-- -enable-fips (bool option) }, ----------------------- { "parameters": [ <----- desc table is NULL ], "option": "cdrom", "unspecified-parameters": true <---- but it can accept argument }, ------------------------ See the detail in the attachment. Thanks, Amos > Amos Kong (3): > qmp: rename query_option_descs() to get_param_info() > query-command-line-options: expose implicit parameter name > query-command-line-options: query all the options in qemu-options.hx
>>>> EXECUTE>>>> { 'execute': 'qmp_capabilities' } >>>> EXECUTE>>>> { 'execute': 'query-command-line-options' } { "QMP": { "version": { "qemu": { "micro": 90, "minor": 7, "major": 1 }, "package": "" }, "capabilities": [ ] } } { "return": { } } { "return": [ { "parameters": [ { "name": "timestamp", "implied-name": false, "type": "boolean" } ], "option": "msg" }, { "parameters": [ ], "option": "object", "unspecified-parameters": true }, { "parameters": [ ], "option": "tdf", "unspecified-parameters": false }, { "parameters": [ ], "option": "no-kvm-irqchip", "unspecified-parameters": false }, { "parameters": [ ], "option": "no-kvm-pit", "unspecified-parameters": false }, { "parameters": [ ], "option": "no-kvm-pit-reinjection", "unspecified-paramet ers": false }, { "parameters": [ ], "option": "no-kvm", "unspecified-parameters": false }, { "parameters": [ ], "option": "enable-fips", "unspecified-parameters": false }, { "parameters": [ ], "option": "qtest-log", "unspecified-parameters": true }, { "parameters": [ ], "option": "qtest", "unspecified-parameters": true }, { "parameters": [ { "name": "file", "implied-name": false, "type": "string" }, { "name": "events", "implied-name": false, "type": "string" } ], "optio n": "trace" }, { "parameters": [ ], "option": "no-user-config", "unspecified-parameters": false }, { "parameters": [ ], "option": "nodefconfig", "unspecified-parameters": false }, { "parameters": [ ], "option": "writeconfig", "unspecified-parameters": true }, { "parameters": [ ], "option": "readconfig", "unspecified-parameters": true }, { "parameters": [ { "name": "enable", "implied-name": true, "type": "boolean" } ], "option": "sandbox" }, { "parameters": [ ], "option": "old-param", "unspecified -parameters": false }, { "parameters": [ ], "option": "semihosting", "unspecified-parameters": false }, { "parameters": [ ], "option": "prom-env", "unspecified-parameters": true }, { "parameters": [ ], "option": "runas", "unspecified-parameters": true }, { "parameters": [ ], "option": "chroot", "unspecified-parameters": true }, { "parameters": [ ], "option": "nodefaults", "unspecified-parameters": false }, { "parameters": [ ], "option": "incoming", "unspecified-parameters": true }, { "parameters": [ ], "option": "tb-size" , "unspecified-parameters": true }, { "parameters": [ ], "option": "show-cursor", "unspecified-parameters": false }, { "parameters": [ ], "option": "virtioconsole", "unspecified-parameters": true }, { "parameters": [ ], "option": "echr", "unspecified-parameters": true }, { "parameters": [ ], "option": "watchdog-action", "unspecified-parameters": true }, { "parameters": [ ], "option": "watchdog", "unspecified-parameters": true }, { "parameters": [ ], "option": "icount", "unspecified-parameters": true }, { "parameters": [ { "name": "driftfix", "implied-name": false, "type": "string" }, { "name": "clock", "implied-name": false, "type": "string" }, { "name": "base", "implied-name": false, "type": "string" } ], "option": "rtc" }, { "parameters": [ ], "option": "startdate", "unspecified-parameters": true }, { "parameters": [ ], "option": "localtime", "unspecified-parameters": false }, { "parameters": [ ], "option": "clock", "unspecified-parameters": true }, { "parameters": [ { "name": "romfile", "implied-name": true, "type": "string" }, { "name": "bootindex", "implied-name": false, "type": "number" } ], "option": "option-rom" }, { "parameters": [ ], "option": "daemonize", "unspecified-parameters": false }, { "parameters": [ ], "option": "loadvm", "unspecified-parameters": true }, { "parameters": [ ], "option": "no-shutdown", "unspecified-parameters": false }, { "parameters": [ ], "option": "no-reboot", "unspecified-parameters": false }, { "par ameters": [ ], "option": "xen-attach", "unspecified-parameters": false }, { "parameters": [ ], "option": "xen-create", "unspecified-parameters": false }, { "parameters": [ ], "option": "xen-domid", "unspecified-parameters": true }, { "parameters": [ ], "option": "enable-kvm", "unspecified-parameters": false }, { "parameters": [ ], "option": "bios", "unspecified-parameters": true }, { "parameters": [ ], "option": "L", "unspecified-parameters": true }, { "parameters": [ ], "option": "D", "unspecified-parameters": true }, { "parameters": [ ], "option": "d", "unspecified-parameters": true }, { "parameters": [ ], "option": "s", "unspecified-parameters": false }, { "parameters": [ ], "option": "gdb", "unspecified-parameters": true }, { "parameters": [ { "name": "mlock", "implied-name": false, "type": "boolean" } ], "option": "realtime" }, { "parameters": [ ], "option": "S", "unspecified-parameters": false }, { "parameters": [ ], "option": "singlestep", "unspecified-parameters": false }, { "parameters": [ ], "option": "pidfile", "unspecified-parameters": true }, { "parameters": [ ], "option": "debugcon", "unspecified-parameters": true }, { "parameters": [ { "name": "pretty", "implied-name": false, "type": "boolean" }, { "name": "default", "implied-name": false, "type": "boolean" }, { "name": "chardev", "implied-name": true, "type": "string" }, { "name": "mode", "implied-name": false, "type": "string" } ], "option": "mon" }, { "parameters": [ ], "option": "qmp", "unspecified-parameters": true }, { "parameters": [ ], "option": "monitor", "unspecified-parameters": true }, { "parameters": [ ], "option": "parallel", "unspecified-parameters": true }, { "parameters": [ ], "option": "serial", "unspecified-parameters": true }, { "parameters": [ ], "option": "dtb", "unspecified-parameters": true }, { "parameters": [ ], "option": "initrd", "unspecified-parameters": true }, { "parameters": [ ], "option": "append", "unspecified-parameters": true }, { "parameters": [ ], "option": "kernel", "unspecified-parameters": true }, { "parameters": [ ], "option": "bt", "unspecified-parameters": true }, { "parameters": [ { "name": "initiator-name", "implied-name": false, "help": "Initiator iqn name to use when connecting", "type": "string" }, { "name": "header-digest", "implied-name": false, "help": "HeaderDigest setting. {CRC32C|CRC32C-NONE|NONE-CRC32C|NONE}", "type": "string" }, { "name": "password", "implied-name": false, "help": "password for CHAP authentication to target", "type": "string" }, { "name": "user", "implied-name": false, "help": "username for CHAP authentication to target", "type": "string" } ], "option": "iscsi" }, { "parameters": [ { "name": "chardev", "implied-name": false, "type": "string" }, { "name": "size", "implied-name": false, "type": "size" }, { "name": "debug", "implied-name": false, "type": "number" }, { "name": "name", "implied-name": false, "type": "string" }, { "name": "signal", "implied-name": false, "type": "boolean" }, { "name": "mux", "implied-name": false, "type": "boolean" }, { "name": "rows", "implied-name": false, "type": "number" }, { "name": "cols", "implied-name": false, "type": "number" }, { "name": "height", "implied-name": false, "type": "number" }, { "name": "width", "implied-name": false, "type": "number" }, { "n ame": "telnet", "implied-name": false, "type": "boolean" }, { "name": "delay", "implied-name": false, "type": "boolean" }, { "name": "server", "implied-name": false, "type": "boolean" }, { "name": "wait", "implied-name": false, "type": "boolean" }, { "name": "ipv6", "implied-name": false, "type": "boolean" }, { "name": "ipv4", "implied-name": false, "type": "boolean" }, { "name": "to", "implied-name ": false, "type": "number" }, { "name": "localport", "implied-name": false, "type": "string" }, { "name": "localaddr", "implied-name": false, "type": "string" }, { "name": "port", "implied-name": false, "type": "string" }, { "name": "host", "implied-name": false, "type": "string" }, { "name": "path", "implied-name": false, "type": "string" }, { "name": "backend", "implied-name": true, "type": "strin g" } ], "option": "chardev" }, { "parameters": [ ], "option": "netdev", "unspecified-parameters": true }, { "parameters": [ ], "option": "net", "unspecified-parameters": true }, { "parameters": [ ], "option": "smb", "unspecified-parameters": true }, { "parameters": [ ], "option": "redir", "unspecified-parameters": true }, { "parameters": [ ], "option": "bootp", "unspecified-parameters": true }, { "parameters": [ ], "option": "tftp", "unspecified-parameters": true }, { "parameters": [ ], "option": "smbios", "unspecified-parameters": true }, { "parameters": [ ], "option": "acpitable", "unspecified-parameters": true }, { "parameters": [ ], "option": "no-hpet", "unspecified-parameters": false }, { "parameters": [ ], "option": "no-acpi", "unspecified-parameters": false }, { "parameters": [ ], "option": "no-fd-bootchk", "unspecified-parameters": false }, { "parameters": [ ], "option": "rtc-td-hack", "unspecified-parameters": false }, { "parameters": [ ], "option": "win2k-hack", "unspecified-parameters": false }, { "parameters": [ ], "option": "vnc", "unspecified-parameters": true }, { "parameters": [ ], "option": "g", "unspecified-parameters": true }, { "parameters": [ ], "option": "full-screen", "unspecified-parameters": false }, { "parameters": [ ], "option": "vga", "unspecified-parameters": true }, { "parameters": [ ], "option": "rotate", "unspecified-parameters": true }, { "parameters": [ ], "option": "portrait", "unspecified-parameters": false }, { "parameters": [ { "name": "seamless-migration", "implied-name": false, "type": "boolean" }, { "name": "playback-compression", "implied-name": false, "type": "boolean" }, { "name": "agent-mouse", "implied-name": false, "type": "boolean" }, { "name": "streaming-video", "implied-name": false, "type": "string" }, { "name": "zlib-glz-wan-compression", "implied-name": false, "type": "string" }, { "name": "jpeg-wan-compression", "implied-name": false, "type": "string" }, { "name": "image-compression", " implied-name": false, "type": "string" }, { "name": "plaintext-channel", "implied-name": false, "type": "string" }, { "name": "tls-channel", "implied-name": false, "type": "string" }, { "name": "tls-ciphers", "implied-name": false, "type": "string" }, { "name": "x509-dh-key-file", "implied-name": false, "type": "string" }, { "name": "x509-cacert-file", "implied-name": false, "type": "string" }, { "name": "x509-cert-file", "implied-name": false, "type": "string" }, { "name": "x509-key-password", "implied-name": false, "type": "string" }, { "name": "x509-key-file", "implied-name": false, "type": "string" }, { "name": "x509-dir", "implied-name": false, "type": "string" }, { "name": "sasl", "implied-name": false, "type": "boolean" }, { "name": "disable-agent-file-xfer", "implied-name": false, "type": "boolean" }, { "name": "disable-copy-paste", "implied-name": false, "type": "boolean" }, { "name": "disable-ticketing", "implied-name": false, "type": "boolean" }, { "name": "password", "implied-name": false, "type": "string" }, { "name": "ipv6", "implied-name": false, "type": "boolean" }, { "name": "ipv4", "implied-name": false, "type": "boolean" }, { "name": "addr", "implied-name": false, "type": "string" }, { "name": "tls-port", "implied-name": false, "type": "number" }, { "name": "port", "implied-name": false, "type": "number" } ], "option": "spice" }, { "parameters": [ ], "option": "sdl", "unspecified-parameters": false }, { "parameters": [ ], "option": "no-quit", "unspecified-parameters": false }, { "parameters": [ ], "option": " ctrl-grab", "unspecified-parameters": false }, { "parameters": [ ], "option": "alt-grab", "unspecified-parameters": false }, { "parameters": [ ], "option": "no-frame", "unspecified-parameters": false }, { "parameters": [ ], "option": "curses", "unspecified-parameters": false }, { "parameters": [ ], "option": "nographic", "unspecified-parameters": false }, { "parameters": [ ], "option": "display", "unspecified-parameters": true }, { "parameters": [ ], "option": "usbdevice", "unspecified-parameters": true }, { "parameters": [ ], "option": "usb", "unspecified-parameters": false }, { "parameters": [ ], "option": "virtfs_synth", "unspecified-parameters": false }, { "parameters": [ { "name": "sock_fd", "implied-name": false, "type": "number" }, { "name": "socket", "implied-name": false, "type": "string" }, { "name": "readonly", "implied-name": false, "type": "boolean" }, { "name": "writeout", "implied-name": false, "type": "string" }, { "name": "security_model", "implied-name": false, "type": "string" }, { "name": "mount_tag", "implied-name": false, "type": "string" }, { "name": "path", "implied-name": false, "type": "string" }, { "name": "fsdriver", "implied-name": true, "type": "string" } ], "option": "virtfs" }, { "parameters": [ { "name": "sock_fd", "implied-name": false, "type": "number" }, { "name": "socket", "implied-name": false, "type": "string" }, { "name": "readonly", "implied-name": false, "type": "boolean" }, { "name": "writeout", "implied-name": false, "type": "string" }, { "name": "security_model", "implied-name": false, "type": "string" }, { "name": "path", "implied-name": false, "type": "string" }, { "name": "fsdriver", "implied-name": true, "type": "string" } ], "option": "fsdev" }, { "parameters": [ ], "option": "hdachs", "unspecified-parameters": true }, { "parameters": [ ], "option": "snapshot", "unspecified-parameters": false }, { "parameters": [ ], "option": "pflash", "unspecified-parameters": true }, { "parameters": [ ], "option": "sd", "unspecified-parameters": true }, { "parameters": [ ], "option": "mtdblock", "unspecified-parameters": true }, { "parameters": [ { "name": "copy-on-read", "implied-name": false, "help": "copy read data from backing file into image file", "type": "boolean" }, { "name": "werror", "implied-name": false, "help": "write error action", "type": "string" }, { "name": "rerror", "implied-name": false, "help": "read error action", "type": "string" }, { "name": "read-only", "implied-name": false, "help": "open drive file as read-only", "type": "boolean" }, { "name": "file", "implied-name": false, "help": "file name", "type": "string" }, { "name": "addr", "implied-name": false, "help": "pci address (virtio only)", "type": "string" }, { "name": "boot", "im plied-name": false, "help": "(deprecated, ignored)", "type": "boolean" }, { "name": "trans", "implied-name": false, "help": "chs translation (auto, lba, none)", "type": "string" }, { "name": "secs", "implied-name": false, "help": "number of sectors (ide disk geometry)", "type": "number" }, { "name": "heads", "implied-name": false, "help": "number of heads (ide disk geometry)", "type": "number" }, { "name": "cyls", "implied-name": false, "help": "number of cylinders (ide disk geometry)", "type": "number" }, { "name": "if", "implied-name": false, "help": "interface (ide, scsi, sd, mtd, floppy, pflash, virtio)", "type": "string" }, { "name": "media", "implied-name": false, "help": "media type (disk, cdrom)", "type": "string" }, { "name": "index", "implied-name": false, "help": "index number", "type": "number" }, { "name": "unit", "implied-name": false, "help": "unit number (i.e. lun for scsi)", "type": "number" }, { "name": "bus", "implied -name": false, "help": "bus number", "type": "number" }, { "name": "throttling.iops-size", "implied-name": false, "help": "when limiting by iops max size of an I/O in bytes", "type": "number" }, { "name": "throttling.bps-write-max", "implied-name": false, "help": "total bytes write burst", "type": "number" }, { "name": "throttling.bps-read-max", "implied-name": false, "help": "total bytes read burst", "type": "number" }, { "name": "throttling.bps-total-max", "implied-name": false, "help": "total bytes burst", "type": "number" }, { "name": "throttling.iops-write-max", "implied-name": false, "help": "I/O operations write burst", "type": "number" }, { "name": "throttling.iops-read-max", "implied-name": false, "help": "I/O operations read burst", "type": "number" }, { "name": "throttling.iops-total-max", "implied-name": false, "help": "I/O operations burst", "type": "number" }, { "name": "throttling.bps-write", "implied-name": false, "help": "limit write bytes per second", "type": "number" }, { "name": "throttling.bps-read", "implied-name": false, "help": "limit read bytes per second", "type": "number" }, { "name": "throttling.bps-total", "implied-name": false, "help": "limit total bytes per second", "type": "number" }, { "name": "throttling.iops-write", "implied-name": false, "help": "limit write operations per second", "type": "number" }, { "name": "throttling.iops-read", "implied-name": false, "help": "limit read operations per second", "type": "number" }, { "name": "throttling.iops-t otal", "implied-name": false, "help": "limit total I/O operations per second", "type": "number" }, { "name": "werror", "implied-name": false, "help": "write error action", "type": "string" }, { "name": "serial", "implied-name": false, "help": "disk serial number", "type": "string" }, { "name": "format", "implied-name": false, "help": "disk format (raw, qcow2, ...)", "type": "string" }, { "name": "aio", "implied-name": false, "help": "host AIO implementation (threads, native)", "type": "string" }, { "name": "cache.no-flush", "implied-name": false, "help": "ignore any flush requests for the device", "type": "boolean" }, { "name": "cache.direct", "implied-name": false, "help": "enables use of O_DIRECT (bypass the host page cache)", "type": "boolean" }, { "name": "cache.writeback", "implied-name": false, "help": "enables writeback mode for any caches", "type": "boolean" }, { "name": "discard", "implied-name": false, "help": "discard operation (ignore/off, unmap/on)", "type": "string" }, { "name": "snapshot", "implied-name": false, "help": "enable/disable snapshot mode", "type": "boolean" } ], "option": "drive" }, { "parameters": [ ], "option": "cdrom", "unspecified-parameters": true }, { "parameters": [ ], "option": "hdd", "unspecified-parameters": true }, { "parameters": [ ], "option": "hdc", "unspecified-parameters": true }, { "parameters": [ ], "option": "hdb", "unspecified-parameters": true }, { "parameters": [ ], "option": "hda", "unspecified-parameters": true }, { "parameters": [ ], "option": "fdb", "unspecified-parameters": true }, { "parameters": [ ], "option": "fda", "unspecified-parameters": true }, { "parameters": [ ], "option": "uuid", "unspecified-parameters": true }, { "parameters": [ { "name": "debug-threads", "implied-name": false, "help": "When enabled, name the individual threads; defaults off.\nNOTE: The thread names are for debugging and not a\nstable API.", "type": "boolean" }, { "name": "process", "implied-name": false, "help": "Sets the name of the QEMU process, as shown in top etc", "type": "string" }, { "name": "guest", "implied-name": true, "help": "Sets the name of the guest.\nThis name will be displayed in the SDL window caption.\nThe name will also be used for the VNC server", "type": "string" } ], "option": "name" }, { "parameters": [ ], "option": "device", "unspecified-parameters": true }, { "parameters": [ ], "option": "balloon", "unspecified-parameters": true }, { "parameters": [ ], "option": "soundhw", "unspecified-parameters": true }, { "parameters": [ ], "option": "audio-help", "unspecified-parameters": false }, { "parameters": [ ], "option": "k", "unspecified-parameters": true }, { "parameters": [ ], "option": "mem-prealloc", "unspecified-parameters": false }, { "parameters": [ ], "option": "mem-path", "unspecified-parameters": true }, { "parameters": [ ], "option": "m", "unspecified-parameters": true }, { "parameters": [ { "name": "strict", "implied-name": false, "type": "boolean" }, { "name": "reboot-timeout", "implied-name": false, "type": "string" }, { "name": "splash-time", "implied-name": false, "type": "string" }, { "name": "splash", "implied-name": false, "type": "string" }, { "name": "menu", "implied-name": false, "type": "boolean" }, { "name": "once", "implied-name": false, "type": "string" }, { "name": "order", "implied-name": true, "type": "string" } ], "option": "boot" }, { "parameters": [ { "name": "value", "implied-name": false, "type": "string" }, { "name": "property", "implied-name": false, "type": "string" }, { "name": "driver", "implied-name": false, "type": "string" } ], "option": "global" }, { "parameters": [ ], "option": "set", "unspecified-parameters": true }, { "parameters": [ { "name": "opaque", "implied-name": false, "help": "free-form string used to describe fd", "type": "string" }, { "name": "set", "implied-name": false, "help": "ID of the fd set to add fd to", "type": "number" }, { "name": "fd", "implied-name": false, "help": "file descriptor of which a duplicate is added to fd set", "type": "number" } ], "option": "add-fd" }, { "parameters": [ ], "option": "numa", "unspecified-parameters": true }, { "parameters": [ { "name": "maxcpus", "implied-name": false, "type": "number" }, { "name": "threads", "implied-name": false, "type": "number" }, { "name": "cores", "implied-name": false, "type": "number" }, { "name": "socke ts", "implied-name": false, "type": "number" }, { "name": "cpus", "implied-name": true, "type": "number" } ], "option": "smp" }, { "parameters": [ ], "option": "cpu", "unspecified-parameters": true }, { "parameters": [ ], "option": "M", "unspecified-parameters": true }, { "parameters": [ { "name": "kvm-type", "implied-name": false, "help": "Specifies the KVM virtualization mode (HV, PR)", "type": "string" }, { "name": "firmware", "implied-name": false, "help": "firmware image", "type": "string" }, { "name": "usb", "implied-name": false, "help": "Set on/off to enable/disable usb", "type": "boolean" }, { "name": "mem-merge", "implied-name": false, "help": "enable/disable memory merge support", "type": "boolean" }, { "name": "dump-guest-core", "implied-name": false, "help": "Include guest memory in a core dump", "type": "boolean" }, { "name": "dt_compatible", "implied-name": false, "help": "Overrides the \"compatible\" property of the dt root node", "type" : "string" }, { "name": "phandle_start", "implied-name": false, "help": "The first phandle ID we may generate dynamically", "type": "number" }, { "name": "dumpdtb", "implied-name": false, "help": "Dump current dtb to a file and quit", "type": "string" }, { "name": "dtb", "implied-name": false, "help": "Linux kernel device tree file", "type": "string" }, { "name": "append", "implied-name": false, "help": "Linux kernel command line", "type": "string" }, { "name": "initrd", "implied-name": false, "help": "Linux initial ramdisk file", "type": "string" }, { "name": "kernel", "implied-name": false, "help": "Linux kernel image file", "type": "string" }, { "name": "kvm_shadow_mem", "implied-name": false, "help": "KVM shadow MMU size", "type": "size" }, { "name": "kernel_irqchip", "implied-name": false, "help": "use KVM in-kernel irqchip", "type": "boolean" }, { "name": "accel", "implied-name": false, "help": "accelerator list", "type": "string" }, { "name": "type", "implied-name": true, "help": "emulated machine", "type": "string" } ], "option": "machine" }, { "parameters": [ ], "option": "version", "unspecified-parameters": false }, { "parameters": [ ], "option": "help", "unspecified-parameters": false }, { "parameters": [ ], "option": "h", "unspecified-parameters": false } ] }
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list