70b7fba987
qemu.org enabled HTTPS in 2017 and it should be used instead of HTTP. There are also URLs to json.org, openvpn.net, and other domains that support HTTPS. This patch updates the qemu.org domains everywhere and also third-party domains that I have checked. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Message-id: 20171121120435.28728-3-stefanha@redhat.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
87 lines
2.0 KiB
Plaintext
87 lines
2.0 KiB
Plaintext
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 qemu-qmp-ref.html QEMU QMP commands and events (auto-generated at build-time)
|
|
|
|
[1] https://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
|
|
-------------
|
|
|
|
https://wiki.qemu.org/QMP
|