b40292e711
One of the most important missing feature in QMP today is its supported commands documentation. The plan is to make it part of self-description support, however self-description is a big task we have been postponing for a long time now and still don't know when it's going to be done. In order not to compromise QMP adoption and make users' life easier, this commit adds a simple text documentation which fully describes all QMP supported commands. This is not ideal for a number of reasons (harder to maintain, text-only, etc) but does improve the current situation. To avoid at least divering from the user monitor help and texi snippets, QMP bits are also maintained inside qemu-monitor.hx, and hxtool is extended to generate a single text file from them. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> |
||
---|---|---|
.. | ||
qmp-events.txt | ||
qmp-shell | ||
qmp-spec.txt | ||
qmp.py | ||
README | ||
vm-info |
QEMU Monitor Protocol ===================== Introduction ------------- The QEMU Monitor Protocol (QMP) allows applications to communicate with QEMU's Monitor. QMP is JSON[1] based and has the following features: - Lightweight, text-based, easy to parse data format - Asynchronous events support - Stability For more information, please, refer to the following files: o qmp-spec.txt QEMU Monitor Protocol current specification o qmp-commands.txt QMP supported commands o qmp-events.txt List of available asynchronous events There are also two simple Python scripts available: o qmp-shell A shell o vm-info Show some information about the Virtual Machine [1] http://www.json.org Usage ----- To enable QMP, QEMU has to be started in "control mode". There are two ways of doing this, the simplest one is using the the '-qmp' command-line option. For example: $ qemu [...] -qmp tcp:localhost:4444,server Will start QEMU in control mode, waiting for a client TCP connection on localhost port 4444. It is also possible to use the '-mon' command-line option to have more complex combinations. Please, refer to the QEMU's manpage for more information. Simple Testing -------------- To manually test QMP one can connect with telnet and issue commands: $ telnet localhost 4444 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. {"QMP": {"version": {"qemu": "0.12.50", "package": ""}, "capabilities": []}} { "execute": "qmp_capabilities" } {"return": {}} { "execute": "query-version" } {"return": {"qemu": "0.12.50", "package": ""}} Contact ------- http://www.linux-kvm.org/page/MonitorProtocol Luiz Fernando N. Capitulino <lcapitulino@redhat.com>