• Gonglei's avatar
    qmp: Print descriptions of object properties · 07d09c58
    Gonglei authored
    Add a new "description" field to DevicePropertyInfo.
    The descriptions can serve as documentation in the code,
    and they can be used to provide better help. For example:
    
    $./qemu-system-x86_64 -device virtio-blk-pci,?
    
    Before this patch:
    
    virtio-blk-pci.iothread=link<iothread>
    virtio-blk-pci.x-data-plane=bool
    virtio-blk-pci.scsi=bool
    virtio-blk-pci.config-wce=bool
    virtio-blk-pci.serial=str
    virtio-blk-pci.secs=uint32
    virtio-blk-pci.heads=uint32
    virtio-blk-pci.cyls=uint32
    virtio-blk-pci.discard_granularity=uint32
    virtio-blk-pci.bootindex=int32
    virtio-blk-pci.opt_io_size=uint32
    virtio-blk-pci.min_io_size=uint16
    virtio-blk-pci.physical_block_size=uint16
    virtio-blk-pci.logical_block_size=uint16
    virtio-blk-pci.drive=str
    virtio-blk-pci.virtio-backend=child<virtio-blk-device>
    virtio-blk-pci.command_serr_enable=on/off
    virtio-blk-pci.multifunction=on/off
    virtio-blk-pci.rombar=uint32
    virtio-blk-pci.romfile=str
    virtio-blk-pci.addr=pci-devfn
    virtio-blk-pci.event_idx=on/off
    virtio-blk-pci.indirect_desc=on/off
    virtio-blk-pci.vectors=uint32
    virtio-blk-pci.ioeventfd=on/off
    virtio-blk-pci.class=uint32
    
    After:
    
    virtio-blk-pci.iothread=link<iothread>
    virtio-blk-pci.x-data-plane=bool (on/off)
    virtio-blk-pci.scsi=bool (on/off)
    virtio-blk-pci.config-wce=bool (on/off)
    virtio-blk-pci.serial=str
    virtio-blk-pci.secs=uint32
    virtio-blk-pci.heads=uint32
    virtio-blk-pci.cyls=uint32
    virtio-blk-pci.discard_granularity=uint32
    virtio-blk-pci.bootindex=int32
    virtio-blk-pci.opt_io_size=uint32
    virtio-blk-pci.min_io_size=uint16
    virtio-blk-pci.physical_block_size=uint16 (A power of two between 512 and 32768)
    virtio-blk-pci.logical_block_size=uint16 (A power of two between 512 and 32768)
    virtio-blk-pci.drive=str (ID of a drive to use as a backend)
    virtio-blk-pci.virtio-backend=child<virtio-blk-device>
    virtio-blk-pci.command_serr_enable=bool (on/off)
    virtio-blk-pci.multifunction=bool (on/off)
    virtio-blk-pci.rombar=uint32
    virtio-blk-pci.romfile=str
    virtio-blk-pci.addr=int32 (Slot and optional function number, example: 06.0 or 06)
    virtio-blk-pci.event_idx=bool (on/off)
    virtio-blk-pci.indirect_desc=bool (on/off)
    virtio-blk-pci.vectors=uint32
    virtio-blk-pci.ioeventfd=bool (on/off)
    virtio-blk-pci.class=uint32
    
    Cc: Markus Armbruster <armbru@redhat.com>
    Signed-off-by: 's avatarGonglei <arei.gonglei@huawei.com>
    Reviewed-by: 's avatarPaolo Bonzini <pbonzini@redhat.com>
    Reviewed-by: 's avatarMichael S. Tsirkin <mst@redhat.com>
    Reviewed-by: 's avatarEric Blake <eblake@redhat.com>
    Signed-off-by: 's avatarAndreas Färber <afaerber@suse.de>
    07d09c58
qmp.c 19 KB