From: Amos Kong <akong@redhat.com>
To: qemu-devel@nongnu.org
Cc: pbonzini@redhat.com, qiaonuohan@cn.fujitsu.com,
lcapitulino@redhat.com, aliguori@us.ibm.com, armbru@redhat.com
Subject: Re: [Qemu-devel] [PATCH] full introspection support for QMP
Date: Wed, 19 Jun 2013 20:49:14 +0800 [thread overview]
Message-ID: <20130619124914.GA11095@amosk.info> (raw)
In-Reply-To: <1371644677-11041-1-git-send-email-akong@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 3839 bytes --]
On Wed, Jun 19, 2013 at 08:24:37PM +0800, Amos Kong wrote:
> Introduces new monitor command to query QMP schema information,
> the return data is a nested dict/list, it contains the useful
> metadata.
>
> we can add events definations to qapi-schema.json, then it can
> also be queried.
I didn't implement to return complete schema in one go in this
version, will do it in next version. We have a recursive define
'DataObject', we only display one layer for it.
>>>> dict
{'type': 't1', 'data': {'a1': 'b1'} }
{'type': 't2', 'data': {'a2': 't1'} }
then we would retrieve t2 to:
{'type': 't2', 'data': {'a2': {'a1': 'b1'} } }
>>>> list
{'enum': 't1', 'data': ['a1', 'b1'] }
{'type': 't2', 'data': {'a2': 't1'} }
then we would retrieve t2 to:
{'type': 't2', 'data': {'a2': ['a1', 'b1'] } }
>>>> union
{'union': 't1', 'data': {'a1':'v1', 'b1':'v2'} }
{'type': 't2', 'data': {'a2': 't1'} }
then we would retrieve t2 to:
{'type': 't2', 'data': {'a2': {'a2': ['a1', 'b1'] } } }
> Signed-off-by: Amos Kong <akong@redhat.com>
> ---
> Makefile | 4 +-
> qapi-schema.json | 68 +++++++++++++++++++
> qmp-commands.hx | 39 +++++++++++
> qmp.c | 170 +++++++++++++++++++++++++++++++++++++++++++++++
> scripts/qapi-commands.py | 2 +-
> scripts/qapi-types.py | 34 +++++++++-
> scripts/qapi-visit.py | 2 +-
> scripts/qapi.py | 7 +-
> 8 files changed, 320 insertions(+), 6 deletions(-)
You can find three kind of examples(string/list/dict) in the bottom.
Attached (query-qmp-schema--output.txt) the full output of execut query-qmp-schema command.
String:
{ 'command': 'query-name', 'returns': 'NameInfo' }
---------------------------------------------------------------------
{
"name": "NameInfo",
"type": "Type",
"data": [
{
"name": "*name",
"type": "str"
}
]
},
List:
{ 'enum': 'ErrorClass',
'data': [ 'GenericError', 'CommandNotFound', 'DeviceEncrypted',
'DeviceNotActive', 'DeviceNotFound', 'KVMMissingCap' ] }
---------------------------------------------------------------------
{
"name": "ErrorClass",
"type": "Enumeration",
"data": [
{
"type": "GenericError"
},
{
"type": "CommandNotFound"
},
{
"type": "DeviceEncrypted"
},
{
"type": "DeviceNotActive"
},
{
"type": "DeviceNotFound"
},
{
"type": "KVMMissingCap"
}
]
},
Dict:
{ 'type': 'VersionInfo',
'data': {'qemu': {'major': 'int', 'minor': 'int', 'micro': 'int'},
'package': 'str'} }
---------------------------------------------------------------------
{
"name": "VersionInfo",
"type": "Type",
"data": [
{
"name": "qemu",
"data": [
{
"name": "micro",
"type": "int"
},
{
"name": "minor",
"type": "int"
},
{
"name": "major",
"type": "int"
}
]
},
{
"name": "package",
"type": "str"
}
]
},
[-- Attachment #2: query-qmp-schema--output.txt --]
[-- Type: text/plain, Size: 91834 bytes --]
{
"QMP": {
"version": {
"qemu": {
"micro": 50,
"minor": 5,
"major": 1
},
"package": ""
},
"capabilities": [
]
}
}
{
"return": {
}
}
{
"return": [
{
"name": "ErrorClass",
"type": "Enumeration",
"data": [
{
"type": "GenericError"
},
{
"type": "CommandNotFound"
},
{
"type": "DeviceEncrypted"
},
{
"type": "DeviceNotActive"
},
{
"type": "DeviceNotFound"
},
{
"type": "KVMMissingCap"
}
]
},
{
"name": "add_client",
"type": "Command",
"data": [
{
"name": "*skipauth",
"type": "bool"
},
{
"name": "protocol",
"type": "str"
},
{
"name": "fdname",
"type": "str"
},
{
"name": "*tls",
"type": "bool"
}
]
},
{
"name": "NameInfo",
"type": "Type",
"data": [
{
"name": "*name",
"type": "str"
}
]
},
{
"name": "query-name",
"type": "Command"
},
{
"name": "VersionInfo",
"type": "Type",
"data": [
{
"name": "qemu",
"data": [
{
"name": "micro",
"type": "int"
},
{
"name": "minor",
"type": "int"
},
{
"name": "major",
"type": "int"
}
]
},
{
"name": "package",
"type": "str"
}
]
},
{
"name": "query-version",
"type": "Command"
},
{
"name": "KvmInfo",
"type": "Type",
"data": [
{
"name": "enabled",
"type": "bool"
},
{
"name": "present",
"type": "bool"
}
]
},
{
"name": "query-kvm",
"type": "Command"
},
{
"name": "RunState",
"type": "Enumeration",
"data": [
{
"type": "debug"
},
{
"type": "inmigrate"
},
{
"type": "internal-error"
},
{
"type": "io-error"
},
{
"type": "paused"
},
{
"type": "postmigrate"
},
{
"type": "prelaunch"
},
{
"type": "finish-migrate"
},
{
"type": "restore-vm"
},
{
"type": "running"
},
{
"type": "save-vm"
},
{
"type": "shutdown"
},
{
"type": "suspended"
},
{
"type": "watchdog"
},
{
"type": "guest-panicked"
}
]
},
{
"name": "SnapshotInfo",
"type": "Type",
"data": [
{
"name": "vm-clock-nsec",
"type": "int"
},
{
"name": "name",
"type": "str"
},
{
"name": "date-sec",
"type": "int"
},
{
"name": "date-nsec",
"type": "int"
},
{
"name": "vm-clock-sec",
"type": "int"
},
{
"name": "id",
"type": "str"
},
{
"name": "vm-state-size",
"type": "int"
}
]
},
{
"name": "ImageInfo",
"type": "Type",
"data": [
{
"name": "*backing-filename",
"type": "str"
},
{
"name": "*actual-size",
"type": "int"
},
{
"name": "*backing-image",
"type": "ImageInfo"
},
{
"name": "*full-backing-filename",
"type": "str"
},
{
"name": "*cluster-size",
"type": "int"
},
{
"name": "virtual-size",
"type": "int"
},
{
"name": "filename",
"type": "str"
},
{
"name": "*encrypted",
"type": "bool"
},
{
"name": "format",
"type": "str"
},
{
"name": "*snapshots",
"data": [
{
"type": "SnapshotInfo"
}
]
},
{
"name": "*backing-filename-format",
"type": "str"
},
{
"name": "*dirty-flag",
"type": "bool"
}
]
},
{
"name": "ImageCheck",
"type": "Type",
"data": [
{
"name": "*allocated-clusters",
"type": "int"
},
{
"name": "*image-end-offset",
"type": "int"
},
{
"name": "*leaks-fixed",
"type": "int"
},
{
"name": "check-errors",
"type": "int"
},
{
"name": "*corruptions-fixed",
"type": "int"
},
{
"name": "*fragmented-clusters",
"type": "int"
},
{
"name": "*compressed-clusters",
"type": "int"
},
{
"name": "filename",
"type": "str"
},
{
"name": "*leaks",
"type": "int"
},
{
"name": "format",
"type": "str"
},
{
"name": "*total-clusters",
"type": "int"
},
{
"name": "*corruptions",
"type": "int"
}
]
},
{
"name": "StatusInfo",
"type": "Type",
"data": [
{
"name": "status",
"type": "RunState"
},
{
"name": "singlestep",
"type": "bool"
},
{
"name": "running",
"type": "bool"
}
]
},
{
"name": "query-status",
"type": "Command"
},
{
"name": "UuidInfo",
"type": "Type",
"data": [
{
"name": "UUID",
"type": "str"
}
]
},
{
"name": "query-uuid",
"type": "Command"
},
{
"name": "ChardevInfo",
"type": "Type",
"data": [
{
"name": "filename",
"type": "str"
},
{
"name": "label",
"type": "str"
}
]
},
{
"name": "query-chardev",
"type": "Command"
},
{
"name": "DataFormat",
"type": "Enumeration",
"data": [
{
"type": "utf8"
},
{
"type": "base64"
}
]
},
{
"name": "ringbuf-write",
"type": "Command",
"data": [
{
"name": "device",
"type": "str"
},
{
"name": "*format",
"type": "DataFormat"
},
{
"name": "data",
"type": "str"
}
]
},
{
"name": "ringbuf-read",
"type": "Command",
"data": [
{
"name": "device",
"type": "str"
},
{
"name": "*format",
"type": "DataFormat"
},
{
"name": "size",
"type": "int"
}
]
},
{
"name": "CommandInfo",
"type": "Type",
"data": [
{
"name": "name",
"type": "str"
}
]
},
{
"name": "query-commands",
"type": "Command"
},
{
"name": "EventInfo",
"type": "Type",
"data": [
{
"name": "name",
"type": "str"
}
]
},
{
"name": "query-events",
"type": "Command"
},
{
"name": "MigrationStats",
"type": "Type",
"data": [
{
"name": "total",
"type": "int"
},
{
"name": "remaining",
"type": "int"
},
{
"name": "transferred",
"type": "int"
},
{
"name": "duplicate",
"type": "int"
},
{
"name": "dirty-pages-rate",
"type": "int"
},
{
"name": "skipped",
"type": "int"
},
{
"name": "normal-bytes",
"type": "int"
},
{
"name": "normal",
"type": "int"
}
]
},
{
"name": "XBZRLECacheStats",
"type": "Type",
"data": [
{
"name": "bytes",
"type": "int"
},
{
"name": "cache-size",
"type": "int"
},
{
"name": "pages",
"type": "int"
},
{
"name": "overflow",
"type": "int"
},
{
"name": "cache-miss",
"type": "int"
}
]
},
{
"name": "MigrationInfo",
"type": "Type",
"data": [
{
"name": "*disk",
"type": "MigrationStats"
},
{
"name": "*xbzrle-cache",
"type": "XBZRLECacheStats"
},
{
"name": "*downtime",
"type": "int"
},
{
"name": "*expected-downtime",
"type": "int"
},
{
"name": "*status",
"type": "str"
},
{
"name": "*ram",
"type": "MigrationStats"
},
{
"name": "*total-time",
"type": "int"
}
]
},
{
"name": "query-migrate",
"type": "Command"
},
{
"name": "MigrationCapability",
"type": "Enumeration",
"data": [
{
"type": "xbzrle"
}
]
},
{
"name": "MigrationCapabilityStatus",
"type": "Type",
"data": [
{
"name": "state",
"type": "bool"
},
{
"name": "capability",
"type": "MigrationCapability"
}
]
},
{
"name": "migrate-set-capabilities",
"type": "Command",
"data": [
{
"name": "capabilities",
"data": [
{
"type": "MigrationCapabilityStatus"
}
]
}
]
},
{
"name": "query-migrate-capabilities",
"type": "Command"
},
{
"name": "MouseInfo",
"type": "Type",
"data": [
{
"name": "index",
"type": "int"
},
{
"name": "name",
"type": "str"
},
{
"name": "current",
"type": "bool"
},
{
"name": "absolute",
"type": "bool"
}
]
},
{
"name": "query-mice",
"type": "Command"
},
{
"name": "CpuInfo",
"type": "Type",
"data": [
{
"name": "*PC",
"type": "int"
},
{
"name": "*pc",
"type": "int"
},
{
"name": "current",
"type": "bool"
},
{
"name": "CPU",
"type": "int"
},
{
"name": "halted",
"type": "bool"
},
{
"name": "*npc",
"type": "int"
},
{
"name": "*nip",
"type": "int"
},
{
"name": "thread_id",
"type": "int"
}
]
},
{
"name": "query-cpus",
"type": "Command"
},
{
"name": "BlockDeviceInfo",
"type": "Type",
"data": [
{
"name": "iops_rd",
"type": "int"
},
{
"name": "*backing_file",
"type": "str"
},
{
"name": "image",
"type": "ImageInfo"
},
{
"name": "iops_wr",
"type": "int"
},
{
"name": "ro",
"type": "bool"
},
{
"name": "backing_file_depth",
"type": "int"
},
{
"name": "drv",
"type": "str"
},
{
"name": "iops",
"type": "int"
},
{
"name": "bps_wr",
"type": "int"
},
{
"name": "encrypted",
"type": "bool"
},
{
"name": "bps",
"type": "int"
},
{
"name": "bps_rd",
"type": "int"
},
{
"name": "file",
"type": "str"
},
{
"name": "encryption_key_missing",
"type": "bool"
}
]
},
{
"name": "BlockDeviceIoStatus",
"type": "Enumeration",
"data": [
{
"type": "ok"
},
{
"type": "failed"
},
{
"type": "nospace"
}
]
},
{
"name": "BlockDirtyInfo",
"type": "Type",
"data": [
{
"name": "granularity",
"type": "int"
},
{
"name": "count",
"type": "int"
}
]
},
{
"name": "BlockInfo",
"type": "Type",
"data": [
{
"name": "device",
"type": "str"
},
{
"name": "locked",
"type": "bool"
},
{
"name": "removable",
"type": "bool"
},
{
"name": "*dirty",
"type": "BlockDirtyInfo"
},
{
"name": "*io-status",
"type": "BlockDeviceIoStatus"
},
{
"name": "*tray_open",
"type": "bool"
},
{
"name": "type",
"type": "str"
},
{
"name": "*inserted",
"type": "BlockDeviceInfo"
}
]
},
{
"name": "query-block",
"type": "Command"
},
{
"name": "BlockDeviceStats",
"type": "Type",
"data": [
{
"name": "flush_total_time_ns",
"type": "int"
},
{
"name": "wr_highest_offset",
"type": "int"
},
{
"name": "wr_total_time_ns",
"type": "int"
},
{
"name": "wr_bytes",
"type": "int"
},
{
"name": "rd_total_time_ns",
"type": "int"
},
{
"name": "flush_operations",
"type": "int"
},
{
"name": "wr_operations",
"type": "int"
},
{
"name": "rd_bytes",
"type": "int"
},
{
"name": "rd_operations",
"type": "int"
}
]
},
{
"name": "BlockStats",
"type": "Type",
"data": [
{
"name": "stats",
"type": "BlockDeviceStats"
},
{
"name": "*device",
"type": "str"
},
{
"name": "*parent",
"type": "BlockStats"
}
]
},
{
"name": "query-blockstats",
"type": "Command"
},
{
"name": "VncClientInfo",
"type": "Type",
"data": [
{
"name": "family",
"type": "str"
},
{
"name": "*sasl_username",
"type": "str"
},
{
"name": "service",
"type": "str"
},
{
"name": "host",
"type": "str"
},
{
"name": "*x509_dname",
"type": "str"
}
]
},
{
"name": "VncInfo",
"type": "Type",
"data": [
{
"name": "*clients",
"data": [
{
"type": "VncClientInfo"
}
]
},
{
"name": "*family",
"type": "str"
},
{
"name": "enabled",
"type": "bool"
},
{
"name": "*service",
"type": "str"
},
{
"name": "*host",
"type": "str"
},
{
"name": "*auth",
"type": "str"
}
]
},
{
"name": "query-vnc",
"type": "Command"
},
{
"name": "SpiceChannel",
"type": "Type",
"data": [
{
"name": "port",
"type": "str"
},
{
"name": "family",
"type": "str"
},
{
"name": "channel-type",
"type": "int"
},
{
"name": "connection-id",
"type": "int"
},
{
"name": "host",
"type": "str"
},
{
"name": "channel-id",
"type": "int"
},
{
"name": "tls",
"type": "bool"
}
]
},
{
"name": "SpiceQueryMouseMode",
"type": "Enumeration",
"data": [
{
"type": "client"
},
{
"type": "server"
},
{
"type": "unknown"
}
]
},
{
"name": "SpiceInfo",
"type": "Type",
"data": [
{
"name": "migrated",
"type": "bool"
},
{
"name": "enabled",
"type": "bool"
},
{
"name": "*port",
"type": "int"
},
{
"name": "*channels",
"data": [
{
"type": "SpiceChannel"
}
]
},
{
"name": "*compiled-version",
"type": "str"
},
{
"name": "mouse-mode",
"type": "SpiceQueryMouseMode"
},
{
"name": "*tls-port",
"type": "int"
},
{
"name": "*host",
"type": "str"
},
{
"name": "*auth",
"type": "str"
}
]
},
{
"name": "query-spice",
"type": "Command"
},
{
"name": "BalloonInfo",
"type": "Type",
"data": [
{
"name": "actual",
"type": "int"
}
]
},
{
"name": "query-balloon",
"type": "Command"
},
{
"name": "PciMemoryRange",
"type": "Type",
"data": [
{
"name": "limit",
"type": "int"
},
{
"name": "base",
"type": "int"
}
]
},
{
"name": "PciMemoryRegion",
"type": "Type",
"data": [
{
"name": "*prefetch",
"type": "bool"
},
{
"name": "bar",
"type": "int"
},
{
"name": "size",
"type": "int"
},
{
"name": "*mem_type_64",
"type": "bool"
},
{
"name": "address",
"type": "int"
},
{
"name": "type",
"type": "str"
}
]
},
{
"name": "PciBridgeInfo",
"type": "Type",
"data": [
{
"name": "bus",
"data": [
{
"name": "prefetchable_range",
"type": "PciMemoryRange"
},
{
"name": "memory_range",
"type": "PciMemoryRange"
},
{
"name": "secondary",
"type": "int"
},
{
"name": "io_range",
"type": "PciMemoryRange"
},
{
"name": "number",
"type": "int"
},
{
"name": "subordinate",
"type": "int"
}
]
},
{
"name": "*devices",
"data": [
{
"type": "PciDeviceInfo"
}
]
}
]
},
{
"name": "PciDeviceInfo",
"type": "Type",
"data": [
{
"name": "bus",
"type": "int"
},
{
"name": "*irq",
"type": "int"
},
{
"name": "qdev_id",
"type": "str"
},
{
"name": "slot",
"type": "int"
},
{
"name": "*pci_bridge",
"type": "PciBridgeInfo"
},
{
"name": "class_info",
"data": [
{
"name": "*desc",
"type": "str"
},
{
"name": "class",
"type": "int"
}
]
},
{
"name": "id",
"data": [
{
"name": "device",
"type": "int"
},
{
"name": "vendor",
"type": "int"
}
]
},
{
"name": "function",
"type": "int"
},
{
"name": "regions",
"data": [
{
"type": "PciMemoryRegion"
}
]
}
]
},
{
"name": "PciInfo",
"type": "Type",
"data": [
{
"name": "bus",
"type": "int"
},
{
"name": "devices",
"data": [
{
"type": "PciDeviceInfo"
}
]
}
]
},
{
"name": "query-pci",
"type": "Command"
},
{
"name": "BlockdevOnError",
"type": "Enumeration",
"data": [
{
"type": "report"
},
{
"type": "ignore"
},
{
"type": "enospc"
},
{
"type": "stop"
}
]
},
{
"name": "MirrorSyncMode",
"type": "Enumeration",
"data": [
{
"type": "top"
},
{
"type": "full"
},
{
"type": "none"
}
]
},
{
"name": "BlockJobInfo",
"type": "Type",
"data": [
{
"name": "io-status",
"type": "BlockDeviceIoStatus"
},
{
"name": "device",
"type": "str"
},
{
"name": "busy",
"type": "bool"
},
{
"name": "len",
"type": "int"
},
{
"name": "offset",
"type": "int"
},
{
"name": "paused",
"type": "bool"
},
{
"name": "speed",
"type": "int"
},
{
"name": "type",
"type": "str"
}
]
},
{
"name": "query-block-jobs",
"type": "Command"
},
{
"name": "quit",
"type": "Command"
},
{
"name": "stop",
"type": "Command"
},
{
"name": "system_reset",
"type": "Command"
},
{
"name": "system_powerdown",
"type": "Command"
},
{
"name": "cpu",
"type": "Command",
"data": [
{
"name": "index",
"type": "int"
}
]
},
{
"name": "cpu-add",
"type": "Command",
"data": [
{
"name": "id",
"type": "int"
}
]
},
{
"name": "memsave",
"type": "Command",
"data": [
{
"name": "filename",
"type": "str"
},
{
"name": "size",
"type": "int"
},
{
"name": "val",
"type": "int"
},
{
"name": "*cpu-index",
"type": "int"
}
]
},
{
"name": "pmemsave",
"type": "Command",
"data": [
{
"name": "filename",
"type": "str"
},
{
"name": "size",
"type": "int"
},
{
"name": "val",
"type": "int"
}
]
},
{
"name": "cont",
"type": "Command"
},
{
"name": "system_wakeup",
"type": "Command"
},
{
"name": "inject-nmi",
"type": "Command"
},
{
"name": "set_link",
"type": "Command",
"data": [
{
"name": "name",
"type": "str"
},
{
"name": "up",
"type": "bool"
}
]
},
{
"name": "block_passwd",
"type": "Command",
"data": [
{
"name": "device",
"type": "str"
},
{
"name": "password",
"type": "str"
}
]
},
{
"name": "balloon",
"type": "Command",
"data": [
{
"name": "value",
"type": "int"
}
]
},
{
"name": "block_resize",
"type": "Command",
"data": [
{
"name": "device",
"type": "str"
},
{
"name": "size",
"type": "int"
}
]
},
{
"name": "NewImageMode",
"type": "Enumeration",
"data": [
{
"type": "existing"
},
{
"type": "absolute-paths"
}
]
},
{
"name": "BlockdevSnapshot",
"type": "Type",
"data": [
{
"name": "device",
"type": "str"
},
{
"name": "*mode",
"type": "NewImageMode"
},
{
"name": "*format",
"type": "str"
},
{
"name": "snapshot-file",
"type": "str"
}
]
},
{
"name": "TransactionAction",
"type": "Union",
"data": [
{
"name": "blockdev-snapshot-sync",
"type": "BlockdevSnapshot"
}
]
},
{
"name": "transaction",
"type": "Command",
"data": [
{
"name": "actions",
"data": [
{
"type": "TransactionAction"
}
]
}
]
},
{
"name": "blockdev-snapshot-sync",
"type": "Command",
"data": [
{
"name": "device",
"type": "str"
},
{
"name": "*mode",
"type": "NewImageMode"
},
{
"name": "*format",
"type": "str"
},
{
"name": "snapshot-file",
"type": "str"
}
]
},
{
"name": "human-monitor-command",
"type": "Command",
"data": [
{
"name": "command-line",
"type": "str"
},
{
"name": "*cpu-index",
"type": "int"
}
]
},
{
"name": "block-commit",
"type": "Command",
"data": [
{
"name": "device",
"type": "str"
},
{
"name": "*speed",
"type": "int"
},
{
"name": "*base",
"type": "str"
},
{
"name": "top",
"type": "str"
}
]
},
{
"name": "drive-mirror",
"type": "Command",
"data": [
{
"name": "device",
"type": "str"
},
{
"name": "*speed",
"type": "int"
},
{
"name": "*mode",
"type": "NewImageMode"
},
{
"name": "*buf-size",
"type": "int"
},
{
"name": "*format",
"type": "str"
},
{
"name": "*on-source-error",
"type": "BlockdevOnError"
},
{
"name": "*on-target-error",
"type": "BlockdevOnError"
},
{
"name": "sync",
"type": "MirrorSyncMode"
},
{
"name": "*granularity",
"type": "uint32"
},
{
"name": "target",
"type": "str"
}
]
},
{
"name": "migrate_cancel",
"type": "Command"
},
{
"name": "migrate_set_downtime",
"type": "Command",
"data": [
{
"name": "value",
"type": "number"
}
]
},
{
"name": "migrate_set_speed",
"type": "Command",
"data": [
{
"name": "value",
"type": "int"
}
]
},
{
"name": "migrate-set-cache-size",
"type": "Command",
"data": [
{
"name": "value",
"type": "int"
}
]
},
{
"name": "query-migrate-cache-size",
"type": "Command"
},
{
"name": "ObjectPropertyInfo",
"type": "Type",
"data": [
{
"name": "name",
"type": "str"
},
{
"name": "type",
"type": "str"
}
]
},
{
"name": "qom-list",
"type": "Command",
"data": [
{
"name": "path",
"type": "str"
}
]
},
{
"name": "qom-get",
"type": "Command",
"data": [
{
"name": "path",
"type": "str"
},
{
"name": "property",
"type": "str"
}
]
},
{
"name": "qom-set",
"type": "Command",
"data": [
{
"name": "path",
"type": "str"
},
{
"name": "property",
"type": "str"
},
{
"name": "value",
"type": "visitor"
}
]
},
{
"name": "set_password",
"type": "Command",
"data": [
{
"name": "*connected",
"type": "str"
},
{
"name": "protocol",
"type": "str"
},
{
"name": "password",
"type": "str"
}
]
},
{
"name": "expire_password",
"type": "Command",
"data": [
{
"name": "protocol",
"type": "str"
},
{
"name": "time",
"type": "str"
}
]
},
{
"name": "eject",
"type": "Command",
"data": [
{
"name": "device",
"type": "str"
},
{
"name": "*force",
"type": "bool"
}
]
},
{
"name": "change-vnc-password",
"type": "Command",
"data": [
{
"name": "password",
"type": "str"
}
]
},
{
"name": "change",
"type": "Command",
"data": [
{
"name": "device",
"type": "str"
},
{
"name": "*arg",
"type": "str"
},
{
"name": "target",
"type": "str"
}
]
},
{
"name": "block_set_io_throttle",
"type": "Command",
"data": [
{
"name": "iops_rd",
"type": "int"
},
{
"name": "device",
"type": "str"
},
{
"name": "iops_wr",
"type": "int"
},
{
"name": "iops",
"type": "int"
},
{
"name": "bps_wr",
"type": "int"
},
{
"name": "bps",
"type": "int"
},
{
"name": "bps_rd",
"type": "int"
}
]
},
{
"name": "block-stream",
"type": "Command",
"data": [
{
"name": "device",
"type": "str"
},
{
"name": "*speed",
"type": "int"
},
{
"name": "*on-error",
"type": "BlockdevOnError"
},
{
"name": "*base",
"type": "str"
}
]
},
{
"name": "block-job-set-speed",
"type": "Command",
"data": [
{
"name": "device",
"type": "str"
},
{
"name": "speed",
"type": "int"
}
]
},
{
"name": "block-job-cancel",
"type": "Command",
"data": [
{
"name": "device",
"type": "str"
},
{
"name": "*force",
"type": "bool"
}
]
},
{
"name": "block-job-pause",
"type": "Command",
"data": [
{
"name": "device",
"type": "str"
}
]
},
{
"name": "block-job-resume",
"type": "Command",
"data": [
{
"name": "device",
"type": "str"
}
]
},
{
"name": "block-job-complete",
"type": "Command",
"data": [
{
"name": "device",
"type": "str"
}
]
},
{
"name": "ObjectTypeInfo",
"type": "Type",
"data": [
{
"name": "name",
"type": "str"
}
]
},
{
"name": "qom-list-types",
"type": "Command",
"data": [
{
"name": "*implements",
"type": "str"
},
{
"name": "*abstract",
"type": "bool"
}
]
},
{
"name": "DevicePropertyInfo",
"type": "Type",
"data": [
{
"name": "name",
"type": "str"
},
{
"name": "type",
"type": "str"
}
]
},
{
"name": "device-list-properties",
"type": "Command",
"data": [
{
"name": "typename",
"type": "str"
}
]
},
{
"name": "migrate",
"type": "Command",
"data": [
{
"name": "uri",
"type": "str"
},
{
"name": "*inc",
"type": "bool"
},
{
"name": "*detach",
"type": "bool"
},
{
"name": "*blk",
"type": "bool"
}
]
},
{
"name": "xen-save-devices-state",
"type": "Command",
"data": [
{
"name": "filename",
"type": "str"
}
]
},
{
"name": "xen-set-global-dirty-log",
"type": "Command",
"data": [
{
"name": "enable",
"type": "bool"
}
]
},
{
"name": "device_del",
"type": "Command",
"data": [
{
"name": "id",
"type": "str"
}
]
},
{
"name": "dump-guest-memory",
"type": "Command",
"data": [
{
"name": "*length",
"type": "int"
},
{
"name": "protocol",
"type": "str"
},
{
"name": "*begin",
"type": "int"
},
{
"name": "paging",
"type": "bool"
}
]
},
{
"name": "netdev_add",
"type": "Command",
"data": [
{
"name": "*props",
"type": "**"
},
{
"name": "type",
"type": "str"
},
{
"name": "id",
"type": "str"
}
]
},
{
"name": "netdev_del",
"type": "Command",
"data": [
{
"name": "id",
"type": "str"
}
]
},
{
"name": "NetdevNoneOptions",
"type": "Type",
"data": [
]
},
{
"name": "NetLegacyNicOptions",
"type": "Type",
"data": [
{
"name": "*model",
"type": "str"
},
{
"name": "*netdev",
"type": "str"
},
{
"name": "*macaddr",
"type": "str"
},
{
"name": "*vectors",
"type": "uint32"
},
{
"name": "*addr",
"type": "str"
}
]
},
{
"name": "String",
"type": "Type",
"data": [
{
"name": "str",
"type": "str"
}
]
},
{
"name": "NetdevUserOptions",
"type": "Type",
"data": [
{
"name": "*tftp",
"type": "str"
},
{
"name": "*guestfwd",
"data": [
{
"type": "String"
}
]
},
{
"name": "*hostfwd",
"data": [
{
"type": "String"
}
]
},
{
"name": "*smb",
"type": "str"
},
{
"name": "*ip",
"type": "str"
},
{
"name": "*hostname",
"type": "str"
},
{
"name": "*smbserver",
"type": "str"
},
{
"name": "*host",
"type": "str"
},
{
"name": "*net",
"type": "str"
},
{
"name": "*bootfile",
"type": "str"
},
{
"name": "*dns",
"type": "str"
},
{
"name": "*dhcpstart",
"type": "str"
},
{
"name": "*restrict",
"type": "bool"
},
{
"name": "*dnssearch",
"data": [
{
"type": "String"
}
]
}
]
},
{
"name": "NetdevTapOptions",
"type": "Type",
"data": [
{
"name": "*ifname",
"type": "str"
},
{
"name": "*fd",
"type": "str"
},
{
"name": "*fds",
"type": "str"
},
{
"name": "*vhostfd",
"type": "str"
},
{
"name": "*vnet_hdr",
"type": "bool"
},
{
"name": "*vhostfds",
"type": "str"
},
{
"name": "*queues",
"type": "uint32"
},
{
"name": "*downscript",
"type": "str"
},
{
"name": "*sndbuf",
"type": "size"
},
{
"name": "*script",
"type": "str"
},
{
"name": "*helper",
"type": "str"
},
{
"name": "*vhost",
"type": "bool"
},
{
"name": "*vhostforce",
"type": "bool"
}
]
},
{
"name": "NetdevSocketOptions",
"type": "Type",
"data": [
{
"name": "*listen",
"type": "str"
},
{
"name": "*fd",
"type": "str"
},
{
"name": "*localaddr",
"type": "str"
},
{
"name": "*udp",
"type": "str"
},
{
"name": "*mcast",
"type": "str"
},
{
"name": "*connect",
"type": "str"
}
]
},
{
"name": "NetdevVdeOptions",
"type": "Type",
"data": [
{
"name": "*mode",
"type": "uint16"
},
{
"name": "*port",
"type": "uint16"
},
{
"name": "*sock",
"type": "str"
},
{
"name": "*group",
"type": "str"
}
]
},
{
"name": "NetdevDumpOptions",
"type": "Type",
"data": [
{
"name": "*file",
"type": "str"
},
{
"name": "*len",
"type": "size"
}
]
},
{
"name": "NetdevBridgeOptions",
"type": "Type",
"data": [
{
"name": "*br",
"type": "str"
},
{
"name": "*helper",
"type": "str"
}
]
},
{
"name": "NetdevHubPortOptions",
"type": "Type",
"data": [
{
"name": "hubid",
"type": "int32"
}
]
},
{
"name": "NetClientOptions",
"type": "Union",
"data": [
{
"name": "tap",
"type": "NetdevTapOptions"
},
{
"name": "socket",
"type": "NetdevSocketOptions"
},
{
"name": "nic",
"type": "NetLegacyNicOptions"
},
{
"name": "bridge",
"type": "NetdevBridgeOptions"
},
{
"name": "none",
"type": "NetdevNoneOptions"
},
{
"name": "dump",
"type": "NetdevDumpOptions"
},
{
"name": "vde",
"type": "NetdevVdeOptions"
},
{
"name": "user",
"type": "NetdevUserOptions"
},
{
"name": "hubport",
"type": "NetdevHubPortOptions"
}
]
},
{
"name": "NetLegacy",
"type": "Type",
"data": [
{
"name": "*id",
"type": "str"
},
{
"name": "*vlan",
"type": "int32"
},
{
"name": "opts",
"type": "NetClientOptions"
},
{
"name": "*name",
"type": "str"
}
]
},
{
"name": "Netdev",
"type": "Type",
"data": [
{
"name": "opts",
"type": "NetClientOptions"
},
{
"name": "id",
"type": "str"
}
]
},
{
"name": "InetSocketAddress",
"type": "Type",
"data": [
{
"name": "port",
"type": "str"
},
{
"name": "*ipv6",
"type": "bool"
},
{
"name": "*ipv4",
"type": "bool"
},
{
"name": "host",
"type": "str"
},
{
"name": "*to",
"type": "uint16"
}
]
},
{
"name": "UnixSocketAddress",
"type": "Type",
"data": [
{
"name": "path",
"type": "str"
}
]
},
{
"name": "SocketAddress",
"type": "Union",
"data": [
{
"name": "fd",
"type": "String"
},
{
"name": "unix",
"type": "UnixSocketAddress"
},
{
"name": "inet",
"type": "InetSocketAddress"
}
]
},
{
"name": "getfd",
"type": "Command",
"data": [
{
"name": "fdname",
"type": "str"
}
]
},
{
"name": "closefd",
"type": "Command",
"data": [
{
"name": "fdname",
"type": "str"
}
]
},
{
"name": "MachineInfo",
"type": "Type",
"data": [
{
"name": "*alias",
"type": "str"
},
{
"name": "name",
"type": "str"
},
{
"name": "*is-default",
"type": "bool"
},
{
"name": "cpu-max",
"type": "int"
}
]
},
{
"name": "query-machines",
"type": "Command"
},
{
"name": "CpuDefinitionInfo",
"type": "Type",
"data": [
{
"name": "name",
"type": "str"
}
]
},
{
"name": "query-cpu-definitions",
"type": "Command"
},
{
"name": "AddfdInfo",
"type": "Type",
"data": [
{
"name": "fd",
"type": "int"
},
{
"name": "fdset-id",
"type": "int"
}
]
},
{
"name": "add-fd",
"type": "Command",
"data": [
{
"name": "*fdset-id",
"type": "int"
},
{
"name": "*opaque",
"type": "str"
}
]
},
{
"name": "remove-fd",
"type": "Command",
"data": [
{
"name": "*fd",
"type": "int"
},
{
"name": "fdset-id",
"type": "int"
}
]
},
{
"name": "FdsetFdInfo",
"type": "Type",
"data": [
{
"name": "fd",
"type": "int"
},
{
"name": "*opaque",
"type": "str"
}
]
},
{
"name": "FdsetInfo",
"type": "Type",
"data": [
{
"name": "fds",
"data": [
{
"type": "FdsetFdInfo"
}
]
},
{
"name": "fdset-id",
"type": "int"
}
]
},
{
"name": "query-fdsets",
"type": "Command"
},
{
"name": "TargetInfo",
"type": "Type",
"data": [
{
"name": "arch",
"type": "str"
}
]
},
{
"name": "query-target",
"type": "Command"
},
{
"name": "QKeyCode",
"type": "Enumeration",
"data": [
{
"type": "shift"
},
{
"type": "shift_r"
},
{
"type": "alt"
},
{
"type": "alt_r"
},
{
"type": "altgr"
},
{
"type": "altgr_r"
},
{
"type": "ctrl"
},
{
"type": "ctrl_r"
},
{
"type": "menu"
},
{
"type": "esc"
},
{
"type": "1"
},
{
"type": "2"
},
{
"type": "3"
},
{
"type": "4"
},
{
"type": "5"
},
{
"type": "6"
},
{
"type": "7"
},
{
"type": "8"
},
{
"type": "9"
},
{
"type": "0"
},
{
"type": "minus"
},
{
"type": "equal"
},
{
"type": "backspace"
},
{
"type": "tab"
},
{
"type": "q"
},
{
"type": "w"
},
{
"type": "e"
},
{
"type": "r"
},
{
"type": "t"
},
{
"type": "y"
},
{
"type": "u"
},
{
"type": "i"
},
{
"type": "o"
},
{
"type": "p"
},
{
"type": "bracket_left"
},
{
"type": "bracket_right"
},
{
"type": "ret"
},
{
"type": "a"
},
{
"type": "s"
},
{
"type": "d"
},
{
"type": "f"
},
{
"type": "g"
},
{
"type": "h"
},
{
"type": "j"
},
{
"type": "k"
},
{
"type": "l"
},
{
"type": "semicolon"
},
{
"type": "apostrophe"
},
{
"type": "grave_accent"
},
{
"type": "backslash"
},
{
"type": "z"
},
{
"type": "x"
},
{
"type": "c"
},
{
"type": "v"
},
{
"type": "b"
},
{
"type": "n"
},
{
"type": "m"
},
{
"type": "comma"
},
{
"type": "dot"
},
{
"type": "slash"
},
{
"type": "asterisk"
},
{
"type": "spc"
},
{
"type": "caps_lock"
},
{
"type": "f1"
},
{
"type": "f2"
},
{
"type": "f3"
},
{
"type": "f4"
},
{
"type": "f5"
},
{
"type": "f6"
},
{
"type": "f7"
},
{
"type": "f8"
},
{
"type": "f9"
},
{
"type": "f10"
},
{
"type": "num_lock"
},
{
"type": "scroll_lock"
},
{
"type": "kp_divide"
},
{
"type": "kp_multiply"
},
{
"type": "kp_subtract"
},
{
"type": "kp_add"
},
{
"type": "kp_enter"
},
{
"type": "kp_decimal"
},
{
"type": "sysrq"
},
{
"type": "kp_0"
},
{
"type": "kp_1"
},
{
"type": "kp_2"
},
{
"type": "kp_3"
},
{
"type": "kp_4"
},
{
"type": "kp_5"
},
{
"type": "kp_6"
},
{
"type": "kp_7"
},
{
"type": "kp_8"
},
{
"type": "kp_9"
},
{
"type": "less"
},
{
"type": "f11"
},
{
"type": "f12"
},
{
"type": "print"
},
{
"type": "home"
},
{
"type": "pgup"
},
{
"type": "pgdn"
},
{
"type": "end"
},
{
"type": "left"
},
{
"type": "up"
},
{
"type": "down"
},
{
"type": "right"
},
{
"type": "insert"
},
{
"type": "delete"
},
{
"type": "stop"
},
{
"type": "again"
},
{
"type": "props"
},
{
"type": "undo"
},
{
"type": "front"
},
{
"type": "copy"
},
{
"type": "open"
},
{
"type": "paste"
},
{
"type": "find"
},
{
"type": "cut"
},
{
"type": "lf"
},
{
"type": "help"
},
{
"type": "meta_l"
},
{
"type": "meta_r"
},
{
"type": "compose"
}
]
},
{
"name": "KeyValue",
"type": "Union",
"data": [
{
"name": "qcode",
"type": "QKeyCode"
},
{
"name": "number",
"type": "int"
}
]
},
{
"name": "send-key",
"type": "Command",
"data": [
{
"name": "keys",
"data": [
{
"type": "KeyValue"
}
]
},
{
"name": "*hold-time",
"type": "int"
}
]
},
{
"name": "screendump",
"type": "Command",
"data": [
{
"name": "filename",
"type": "str"
}
]
},
{
"name": "nbd-server-start",
"type": "Command",
"data": [
{
"name": "addr",
"type": "SocketAddress"
}
]
},
{
"name": "nbd-server-add",
"type": "Command",
"data": [
{
"name": "device",
"type": "str"
},
{
"name": "*writable",
"type": "bool"
}
]
},
{
"name": "nbd-server-stop",
"type": "Command"
},
{
"name": "ChardevFile",
"type": "Type",
"data": [
{
"name": "*in",
"type": "str"
},
{
"name": "out",
"type": "str"
}
]
},
{
"name": "ChardevHostdev",
"type": "Type",
"data": [
{
"name": "device",
"type": "str"
}
]
},
{
"name": "ChardevSocket",
"type": "Type",
"data": [
{
"name": "*wait",
"type": "bool"
},
{
"name": "*server",
"type": "bool"
},
{
"name": "addr",
"type": "SocketAddress"
},
{
"name": "*nodelay",
"type": "bool"
},
{
"name": "*telnet",
"type": "bool"
}
]
},
{
"name": "ChardevUdp",
"type": "Type",
"data": [
{
"name": "remote",
"type": "SocketAddress"
},
{
"name": "*local",
"type": "SocketAddress"
}
]
},
{
"name": "ChardevMux",
"type": "Type",
"data": [
{
"name": "chardev",
"type": "str"
}
]
},
{
"name": "ChardevStdio",
"type": "Type",
"data": [
{
"name": "*signal",
"type": "bool"
}
]
},
{
"name": "ChardevSpiceChannel",
"type": "Type",
"data": [
{
"name": "type",
"type": "str"
}
]
},
{
"name": "ChardevSpicePort",
"type": "Type",
"data": [
{
"name": "fqdn",
"type": "str"
}
]
},
{
"name": "ChardevVC",
"type": "Type",
"data": [
{
"name": "*cols",
"type": "int"
},
{
"name": "*width",
"type": "int"
},
{
"name": "*rows",
"type": "int"
},
{
"name": "*height",
"type": "int"
}
]
},
{
"name": "ChardevMemory",
"type": "Type",
"data": [
{
"name": "*size",
"type": "int"
}
]
},
{
"name": "ChardevDummy",
"type": "Type",
"data": [
]
},
{
"name": "ChardevBackend",
"type": "Union",
"data": [
{
"name": "serial",
"type": "ChardevHostdev"
},
{
"name": "spiceport",
"type": "ChardevSpicePort"
},
{
"name": "stdio",
"type": "ChardevStdio"
},
{
"name": "memory",
"type": "ChardevMemory"
},
{
"name": "socket",
"type": "ChardevSocket"
},
{
"name": "msmouse",
"type": "ChardevDummy"
},
{
"name": "pty",
"type": "ChardevDummy"
},
{
"name": "braille",
"type": "ChardevDummy"
},
{
"name": "udp",
"type": "ChardevUdp"
},
{
"name": "mux",
"type": "ChardevMux"
},
{
"name": "console",
"type": "ChardevDummy"
},
{
"name": "parallel",
"type": "ChardevHostdev"
},
{
"name": "null",
"type": "ChardevDummy"
},
{
"name": "file",
"type": "ChardevFile"
},
{
"name": "spicevmc",
"type": "ChardevSpiceChannel"
},
{
"name": "vc",
"type": "ChardevVC"
},
{
"name": "pipe",
"type": "ChardevHostdev"
}
]
},
{
"name": "ChardevReturn",
"type": "Type",
"data": [
{
"name": "*pty",
"type": "str"
}
]
},
{
"name": "chardev-add",
"type": "Command",
"data": [
{
"name": "backend",
"type": "ChardevBackend"
},
{
"name": "id",
"type": "str"
}
]
},
{
"name": "chardev-remove",
"type": "Command",
"data": [
{
"name": "id",
"type": "str"
}
]
},
{
"name": "TpmModel",
"type": "Enumeration",
"data": [
{
"type": "tpm-tis"
}
]
},
{
"name": "query-tpm-models",
"type": "Command"
},
{
"name": "TpmType",
"type": "Enumeration",
"data": [
{
"type": "passthrough"
}
]
},
{
"name": "query-tpm-types",
"type": "Command"
},
{
"name": "TPMPassthroughOptions",
"type": "Type",
"data": [
{
"name": "*path",
"type": "str"
},
{
"name": "*cancel-path",
"type": "str"
}
]
},
{
"name": "TpmTypeOptions",
"type": "Union",
"data": [
{
"name": "passthrough",
"type": "TPMPassthroughOptions"
}
]
},
{
"name": "TPMInfo",
"type": "Type",
"data": [
{
"name": "model",
"type": "TpmModel"
},
{
"name": "options",
"type": "TpmTypeOptions"
},
{
"name": "id",
"type": "str"
}
]
},
{
"name": "query-tpm",
"type": "Command"
},
{
"name": "AcpiTableOptions",
"type": "Type",
"data": [
{
"name": "*data",
"type": "str"
},
{
"name": "*oem_id",
"type": "str"
},
{
"name": "*oem_table_id",
"type": "str"
},
{
"name": "*sig",
"type": "str"
},
{
"name": "*oem_rev",
"type": "uint32"
},
{
"name": "*file",
"type": "str"
},
{
"name": "*rev",
"type": "uint8"
},
{
"name": "*asl_compiler_rev",
"type": "uint32"
},
{
"name": "*asl_compiler_id",
"type": "str"
}
]
},
{
"name": "CommandLineParameterType",
"type": "Enumeration",
"data": [
{
"type": "string"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "size"
}
]
},
{
"name": "CommandLineParameterInfo",
"type": "Type",
"data": [
{
"name": "name",
"type": "str"
},
{
"name": "*help",
"type": "str"
},
{
"name": "type",
"type": "CommandLineParameterType"
}
]
},
{
"name": "CommandLineOptionInfo",
"type": "Type",
"data": [
{
"name": "parameters",
"data": [
{
"type": "CommandLineParameterInfo"
}
]
},
{
"name": "option",
"type": "str"
}
]
},
{
"name": "query-command-line-options",
"type": "Command",
"data": [
{
"name": "*option",
"type": "str"
}
]
},
{
"name": "X86CPURegister32",
"type": "Enumeration",
"data": [
{
"type": "EAX"
},
{
"type": "EBX"
},
{
"type": "ECX"
},
{
"type": "EDX"
},
{
"type": "ESP"
},
{
"type": "EBP"
},
{
"type": "ESI"
},
{
"type": "EDI"
}
]
},
{
"name": "X86CPUFeatureWordInfo",
"type": "Type",
"data": [
{
"name": "*cpuid-input-ecx",
"type": "int"
},
{
"name": "cpuid-register",
"type": "X86CPURegister32"
},
{
"name": "cpuid-input-eax",
"type": "int"
},
{
"name": "features",
"type": "int"
}
]
},
{
"name": "DataObject",
"type": "Type",
"data": [
{
"name": "*data",
"data": [
{
"type": "DataObject"
}
]
},
{
"name": "*type",
"type": "str"
},
{
"name": "*name",
"type": "str"
}
]
},
{
"name": "SchemaMetatype",
"type": "Enumeration",
"data": [
{
"type": "Command"
},
{
"type": "Type"
},
{
"type": "Enumeration"
},
{
"type": "Union"
},
{
"type": "Event"
}
]
},
{
"name": "SchemaData",
"type": "Type",
"data": [
{
"name": "*data",
"data": [
{
"type": "DataObject"
}
]
},
{
"name": "name",
"type": "str"
},
{
"name": "*returns",
"data": [
{
"type": "DataObject"
}
]
},
{
"name": "type",
"type": "SchemaMetatype"
}
]
},
{
"name": "query-qmp-schema",
"type": "Command"
}
]
}
next prev parent reply other threads:[~2013-06-19 12:49 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-19 12:24 [Qemu-devel] [PATCH] full introspection support for QMP Amos Kong
2013-06-19 12:49 ` Amos Kong [this message]
2013-06-20 10:16 ` Amos Kong
2013-07-02 16:39 ` Eric Blake
2013-06-21 3:20 ` Luiz Capitulino
2013-07-02 8:37 ` Amos Kong
2013-07-02 14:20 ` Luiz Capitulino
2013-07-16 10:52 ` Amos Kong
2013-07-02 14:51 ` Anthony Liguori
2013-07-02 15:28 ` Eric Blake
2013-07-02 15:39 ` Daniel P. Berrange
2013-07-02 16:44 ` Eric Blake
2013-07-02 17:01 ` Paolo Bonzini
2013-07-02 17:06 ` Eric Blake
2013-07-02 18:27 ` Anthony Liguori
2013-07-04 3:54 ` Amos Kong
2013-07-02 18:21 ` Anthony Liguori
2013-07-02 20:00 ` Paolo Bonzini
2013-07-02 20:08 ` Eric Blake
2013-07-02 20:58 ` Anthony Liguori
2013-07-03 5:52 ` Paolo Bonzini
2013-07-03 12:54 ` Anthony Liguori
2013-07-03 14:45 ` Paolo Bonzini
2013-07-03 16:06 ` Anthony Liguori
2013-07-04 7:53 ` Paolo Bonzini
2013-07-11 13:37 ` Amos Kong
2013-07-02 17:06 ` Anthony Liguori
2013-07-02 17:11 ` Eric Blake
2013-07-02 18:28 ` Anthony Liguori
2013-07-03 15:08 ` Kevin Wolf
2013-07-03 15:59 ` Anthony Liguori
2013-07-04 7:42 ` Kevin Wolf
2013-07-04 7:55 ` Paolo Bonzini
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=20130619124914.GA11095@amosk.info \
--to=akong@redhat.com \
--cc=aliguori@us.ibm.com \
--cc=armbru@redhat.com \
--cc=lcapitulino@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=qiaonuohan@cn.fujitsu.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).