6fb5545172
While our top-level COPYING with its GPLv2+ license applies to any documentation file that omits explicit instructions, these days it's better to be a good example of calling out our intentions. Correct use of GPL requires the use of a copyright statement, so I'm adding notice to two QAPI documents, by attributing these files to the initial authors and major contributors. I used: $ git blame --line-porcelain $file \ | sed -n 's/^author //p' | sort | uniq -c | sort -rn to determine authorship of these two files. qmp-spec.txt blames entirely to Red Hat (easy, since my contribution falls in that category); while qapi-code-gen.txt has multiple contributors representing multiple entities. But since it was originally supplied by Michael Roth, the notice I added there copies the notice he has used in other files. As there is no intended change in license from the implicit one previously present from the top level, I have not bothered to CC other contributors; if we want to weaken things to something looser (such as LGPL) so that there is no question that someone re-implementing the spec is not forced to use GPL, that would be a different commit. CC: Michael Roth <mdroth@linux.vnet.ibm.com> Signed-off-by: Eric Blake <eblake@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com> |
||
---|---|---|
.. | ||
qmp-events.txt | ||
qmp-spec.txt | ||
README |
QEMU Machine Protocol ===================== Introduction ------------ The QEMU Machine Protocol (QMP) allows applications to operate a QEMU instance. QMP is JSON[1] based and features the following: - Lightweight, text-based, easy to parse data format - Asynchronous messages support (ie. events) - Capabilities Negotiation For detailed information on QMP's usage, please, refer to the following files: o qmp-spec.txt QEMU Machine Protocol current specification o qmp-commands.txt QMP supported commands (auto-generated at build-time) o qmp-events.txt List of available asynchronous events [1] http://www.json.org Usage ----- You can use the -qmp option to enable QMP. For example, the following makes QMP available on localhost port 4444: $ qemu [...] -qmp tcp:localhost:4444,server,nowait However, for more flexibility and to make use of more options, the -mon command-line option should be used. For instance, the following example creates one HMP instance (human monitor) on stdio and one QMP instance on localhost port 4444: $ qemu [...] -chardev stdio,id=mon0 -mon chardev=mon0,mode=readline \ -chardev socket,id=mon1,host=localhost,port=4444,server,nowait \ -mon chardev=mon1,mode=control,pretty=on Please, refer to QEMU's manpage for more information. Simple Testing -------------- To manually test QMP one can connect with telnet and issue commands by hand: $ telnet localhost 4444 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. { "QMP": { "version": { "qemu": { "micro": 50, "minor": 6, "major": 1 }, "package": "" }, "capabilities": [ ] } } { "execute": "qmp_capabilities" } { "return": { } } { "execute": "query-status" } { "return": { "status": "prelaunch", "singlestep": false, "running": false } } Please, refer to the qapi-schema.json file for a complete command reference. QMP wiki page ------------- http://wiki.qemu-project.org/QMP