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:
Marc-André Lureau 2016-09-12 13:19:13 +04:00 committed by Markus Armbruster
parent bdf0513323
commit bd6092e407
6 changed files with 4 additions and 1175 deletions

1
.gitignore vendored
View File

@ -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]

View File

@ -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

View File

@ -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 $@")

View File

@ -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

View File

@ -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: