Replace qmp-commands.hx by docs/qmp-commands.txt
The only remaining function of qmp-commands.hx is to let us generate qmp-commands.txt from it. Replace qmp-commands.hx by qmp-commands.txt. We intend to move the documentation into the QAPI schema and generate qapi-commands.txt from it, but not right now. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20160912091913.15831-19-marcandre.lureau@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
parent
bdf0513323
commit
bd6092e407
1
.gitignore
vendored
1
.gitignore
vendored
@ -55,7 +55,6 @@
|
|||||||
/qemu-monitor-info.texi
|
/qemu-monitor-info.texi
|
||||||
/qemu-version.h
|
/qemu-version.h
|
||||||
/qemu-version.h.tmp
|
/qemu-version.h.tmp
|
||||||
/qmp-commands.txt
|
|
||||||
/vscclient
|
/vscclient
|
||||||
/fsdev/virtfs-proxy-helper
|
/fsdev/virtfs-proxy-helper
|
||||||
*.[1-9]
|
*.[1-9]
|
||||||
|
@ -1235,7 +1235,6 @@ M: Markus Armbruster <armbru@redhat.com>
|
|||||||
S: Supported
|
S: Supported
|
||||||
F: qmp.c
|
F: qmp.c
|
||||||
F: monitor.c
|
F: monitor.c
|
||||||
F: qmp-commands.hx
|
|
||||||
F: docs/*qmp-*
|
F: docs/*qmp-*
|
||||||
F: scripts/qmp/
|
F: scripts/qmp/
|
||||||
T: git git://repo.or.cz/qemu/armbru.git qapi-next
|
T: git git://repo.or.cz/qemu/armbru.git qapi-next
|
||||||
|
6
Makefile
6
Makefile
@ -92,7 +92,6 @@ HELPERS-$(CONFIG_LINUX) = qemu-bridge-helper$(EXESUF)
|
|||||||
|
|
||||||
ifdef BUILD_DOCS
|
ifdef BUILD_DOCS
|
||||||
DOCS=qemu-doc.html qemu-tech.html qemu.1 qemu-img.1 qemu-nbd.8 qemu-ga.8
|
DOCS=qemu-doc.html qemu-tech.html qemu.1 qemu-img.1 qemu-nbd.8 qemu-ga.8
|
||||||
DOCS+=qmp-commands.txt
|
|
||||||
ifdef CONFIG_VIRTFS
|
ifdef CONFIG_VIRTFS
|
||||||
DOCS+=fsdev/virtfs-proxy-helper.1
|
DOCS+=fsdev/virtfs-proxy-helper.1
|
||||||
endif
|
endif
|
||||||
@ -432,7 +431,7 @@ endif
|
|||||||
install-doc: $(DOCS)
|
install-doc: $(DOCS)
|
||||||
$(INSTALL_DIR) "$(DESTDIR)$(qemu_docdir)"
|
$(INSTALL_DIR) "$(DESTDIR)$(qemu_docdir)"
|
||||||
$(INSTALL_DATA) qemu-doc.html qemu-tech.html "$(DESTDIR)$(qemu_docdir)"
|
$(INSTALL_DATA) qemu-doc.html qemu-tech.html "$(DESTDIR)$(qemu_docdir)"
|
||||||
$(INSTALL_DATA) qmp-commands.txt "$(DESTDIR)$(qemu_docdir)"
|
$(INSTALL_DATA) docs/qmp-commands.txt "$(DESTDIR)$(qemu_docdir)"
|
||||||
ifdef CONFIG_POSIX
|
ifdef CONFIG_POSIX
|
||||||
$(INSTALL_DIR) "$(DESTDIR)$(mandir)/man1"
|
$(INSTALL_DIR) "$(DESTDIR)$(mandir)/man1"
|
||||||
$(INSTALL_DATA) qemu.1 "$(DESTDIR)$(mandir)/man1"
|
$(INSTALL_DATA) qemu.1 "$(DESTDIR)$(mandir)/man1"
|
||||||
@ -555,9 +554,6 @@ qemu-monitor.texi: $(SRC_PATH)/hmp-commands.hx $(SRC_PATH)/scripts/hxtool
|
|||||||
qemu-monitor-info.texi: $(SRC_PATH)/hmp-commands-info.hx $(SRC_PATH)/scripts/hxtool
|
qemu-monitor-info.texi: $(SRC_PATH)/hmp-commands-info.hx $(SRC_PATH)/scripts/hxtool
|
||||||
$(call quiet-command,sh $(SRC_PATH)/scripts/hxtool -t < $< > $@," GEN $@")
|
$(call quiet-command,sh $(SRC_PATH)/scripts/hxtool -t < $< > $@," GEN $@")
|
||||||
|
|
||||||
qmp-commands.txt: $(SRC_PATH)/qmp-commands.hx $(SRC_PATH)/scripts/hxtool
|
|
||||||
$(call quiet-command,sh $(SRC_PATH)/scripts/hxtool -q < $< > $@," GEN $@")
|
|
||||||
|
|
||||||
qemu-img-cmds.texi: $(SRC_PATH)/qemu-img-cmds.hx $(SRC_PATH)/scripts/hxtool
|
qemu-img-cmds.texi: $(SRC_PATH)/qemu-img-cmds.hx $(SRC_PATH)/scripts/hxtool
|
||||||
$(call quiet-command,sh $(SRC_PATH)/scripts/hxtool -t < $< > $@," GEN $@")
|
$(call quiet-command,sh $(SRC_PATH)/scripts/hxtool -t < $< > $@," GEN $@")
|
||||||
|
|
||||||
|
@ -964,9 +964,9 @@ Example:
|
|||||||
|
|
||||||
Used to generate the marshaling/dispatch functions for the commands
|
Used to generate the marshaling/dispatch functions for the commands
|
||||||
defined in the schema. The generated code implements
|
defined in the schema. The generated code implements
|
||||||
qmp_marshal_COMMAND() (mentioned in qmp-commands.hx, and registered
|
qmp_marshal_COMMAND() (registered automatically), and declares
|
||||||
automatically), and declares qmp_COMMAND() that the user must
|
qmp_COMMAND() that the user must implement. The following files are
|
||||||
implement. The following files are generated:
|
generated:
|
||||||
|
|
||||||
$(prefix)qmp-marshal.c: command marshal/dispatch functions for each
|
$(prefix)qmp-marshal.c: command marshal/dispatch functions for each
|
||||||
QMP command defined in the schema. Functions
|
QMP command defined in the schema. Functions
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -119,16 +119,6 @@ There are a few things to be noticed:
|
|||||||
5. Printing to the terminal is discouraged for QMP commands, we do it here
|
5. Printing to the terminal is discouraged for QMP commands, we do it here
|
||||||
because it's the easiest way to demonstrate a QMP command
|
because it's the easiest way to demonstrate a QMP command
|
||||||
|
|
||||||
Now a little hack is needed. As we're still using the old QMP server we need
|
|
||||||
to add the new command to its internal dispatch table. This step won't be
|
|
||||||
required in the near future. Open the qmp-commands.hx file and add the
|
|
||||||
following at the bottom:
|
|
||||||
|
|
||||||
{
|
|
||||||
.name = "hello-world",
|
|
||||||
.args_type = "",
|
|
||||||
},
|
|
||||||
|
|
||||||
You're done. Now build qemu, run it as suggested in the "Testing" section,
|
You're done. Now build qemu, run it as suggested in the "Testing" section,
|
||||||
and then type the following QMP command:
|
and then type the following QMP command:
|
||||||
|
|
||||||
@ -173,20 +163,6 @@ There are two important details to be noticed:
|
|||||||
2. The C implementation signature must follow the schema's argument ordering,
|
2. The C implementation signature must follow the schema's argument ordering,
|
||||||
which is defined by the "data" member
|
which is defined by the "data" member
|
||||||
|
|
||||||
The last step is to update the qmp-commands.hx file:
|
|
||||||
|
|
||||||
{
|
|
||||||
.name = "hello-world",
|
|
||||||
.args_type = "message:s?",
|
|
||||||
},
|
|
||||||
|
|
||||||
Notice that the "args_type" member got our "message" argument. The character
|
|
||||||
"s" stands for "string" and "?" means it's optional. This too must be ordered
|
|
||||||
according to the C implementation and schema file. You can look for more
|
|
||||||
examples in the qmp-commands.hx file if you need to define more arguments.
|
|
||||||
|
|
||||||
Again, this step won't be required in the future.
|
|
||||||
|
|
||||||
Time to test our new version of the "hello-world" command. Build qemu, run it as
|
Time to test our new version of the "hello-world" command. Build qemu, run it as
|
||||||
described in the "Testing" section and then send two commands:
|
described in the "Testing" section and then send two commands:
|
||||||
|
|
||||||
@ -452,13 +428,6 @@ There are a number of things to be noticed:
|
|||||||
6. You have to include the "qmp-commands.h" header file in qemu-timer.c,
|
6. You have to include the "qmp-commands.h" header file in qemu-timer.c,
|
||||||
otherwise qemu won't build
|
otherwise qemu won't build
|
||||||
|
|
||||||
The last step is to add the corresponding entry in the qmp-commands.hx file:
|
|
||||||
|
|
||||||
{
|
|
||||||
.name = "query-alarm-clock",
|
|
||||||
.args_type = "",
|
|
||||||
},
|
|
||||||
|
|
||||||
Time to test the new command. Build qemu, run it as described in the "Testing"
|
Time to test the new command. Build qemu, run it as described in the "Testing"
|
||||||
section and try this:
|
section and try this:
|
||||||
|
|
||||||
@ -597,13 +566,6 @@ iteration of the loop. That's because the alarm timer method in use is the
|
|||||||
first element of the alarm_timers array. Also notice that QAPI lists are handled
|
first element of the alarm_timers array. Also notice that QAPI lists are handled
|
||||||
by hand and we return the head of the list.
|
by hand and we return the head of the list.
|
||||||
|
|
||||||
To test this you have to add the corresponding qmp-commands.hx entry:
|
|
||||||
|
|
||||||
{
|
|
||||||
.name = "query-alarm-methods",
|
|
||||||
.args_type = "",
|
|
||||||
},
|
|
||||||
|
|
||||||
Now Build qemu, run it as explained in the "Testing" section and try our new
|
Now Build qemu, run it as explained in the "Testing" section and try our new
|
||||||
command:
|
command:
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user