mirror of https://github.com/xemu-project/xemu.git
qapi patches for 2018-03-01
- Markus Armbruster: Modularize generated QAPI code -----BEGIN PGP SIGNATURE----- Comment: Public key at http://people.redhat.com/eblake/eblake.gpg iQEcBAABCAAGBQJamar4AAoJEKeha0olJ0NqaOcH/js0SXjzfny/qNziZ69I4diF +hYXpO3MB6XkTME32nFgWpvosG11YaWHkfYbhEgGRIBR8OfmdbnLI5k/1jo9xl/5 OWA/PxVvZ50kK7oVFg1MfX+wDrYOL3XRrwv52LVp9l/QqSSMbcHmt8xYhF1Yb7Ij JAmcGBVZIeY4k4rXvq1r6TR5f4ItyzkJBPUBtaj2PruSmQPOy+LlOCAjMaO3a+pk aiRcjbIRWodcC5p5eT7GEdbfEpzxB2iVkyI1SUvDuJKAJfDkBvCE3B/vY7SOdw7I 5rZ4wRSxNHeTX/cjtJSftTrrG/DC4nPTMFGgxlv6ElcP70HhWQFAxoJjdjf6HGw= =oaW2 -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/ericb/tags/pull-qapi-2018-03-01-v4' into staging qapi patches for 2018-03-01 - Markus Armbruster: Modularize generated QAPI code # gpg: Signature made Fri 02 Mar 2018 19:50:16 GMT # gpg: using RSA key A7A16B4A2527436A # gpg: Good signature from "Eric Blake <eblake@redhat.com>" # gpg: aka "Eric Blake (Free Software Programmer) <ebb9@byu.net>" # gpg: aka "[jpeg image of size 6874]" # Primary key fingerprint: 71C2 CC22 B1C4 6029 27D2 F3AA A7A1 6B4A 2527 436A * remotes/ericb/tags/pull-qapi-2018-03-01-v4: (30 commits) qapi: Don't create useless directory qapi-generated Fix up dangling references to qmp-commands.* in comment and doc qapi: Move qapi-schema.json to qapi/, rename generated files docs: Correct outdated information on QAPI docs/devel/writing-qmp-commands: Update for modular QAPI qapi: Empty out qapi-schema.json Include less of the generated modular QAPI headers qapi: Generate separate .h, .c for each module watchdog: Consolidate QAPI into single file qapi/common: Fix guardname() for funny filenames qapi/types qapi/visit: Generate built-in stuff into separate files qapi: Make code-generating visitors use QAPIGen more qapi: Rename generated qmp-marshal.c to qmp-commands.c qapi: Record 'include' directives in intermediate representation qapi: Generate in source order qapi: Record 'include' directives in parse tree qapi: Concentrate QAPISchemaParser.exprs updates in .__init__() qapi: Lift error reporting from QAPISchema.__init__() to callers qapi/common: Eliminate QAPISchema.exprs qapi: Improve include file name reporting in error messages ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
7fceeb190a
|
@ -27,13 +27,79 @@
|
||||||
/libuser
|
/libuser
|
||||||
/linux-headers/asm
|
/linux-headers/asm
|
||||||
/qga/qapi-generated
|
/qga/qapi-generated
|
||||||
/qapi-generated
|
/qapi-gen-timestamp
|
||||||
/qapi-types.[ch]
|
/qapi/qapi-builtin-types.[ch]
|
||||||
/qapi-visit.[ch]
|
/qapi/qapi-builtin-visit.[ch]
|
||||||
/qapi-event.[ch]
|
/qapi/qapi-commands-block-core.[ch]
|
||||||
/qmp-commands.h
|
/qapi/qapi-commands-block.[ch]
|
||||||
/qmp-introspect.[ch]
|
/qapi/qapi-commands-char.[ch]
|
||||||
/qmp-marshal.c
|
/qapi/qapi-commands-common.[ch]
|
||||||
|
/qapi/qapi-commands-crypto.[ch]
|
||||||
|
/qapi/qapi-commands-introspect.[ch]
|
||||||
|
/qapi/qapi-commands-migration.[ch]
|
||||||
|
/qapi/qapi-commands-misc.[ch]
|
||||||
|
/qapi/qapi-commands-net.[ch]
|
||||||
|
/qapi/qapi-commands-rocker.[ch]
|
||||||
|
/qapi/qapi-commands-run-state.[ch]
|
||||||
|
/qapi/qapi-commands-sockets.[ch]
|
||||||
|
/qapi/qapi-commands-tpm.[ch]
|
||||||
|
/qapi/qapi-commands-trace.[ch]
|
||||||
|
/qapi/qapi-commands-transaction.[ch]
|
||||||
|
/qapi/qapi-commands-ui.[ch]
|
||||||
|
/qapi/qapi-commands.[ch]
|
||||||
|
/qapi/qapi-events-block-core.[ch]
|
||||||
|
/qapi/qapi-events-block.[ch]
|
||||||
|
/qapi/qapi-events-char.[ch]
|
||||||
|
/qapi/qapi-events-common.[ch]
|
||||||
|
/qapi/qapi-events-crypto.[ch]
|
||||||
|
/qapi/qapi-events-introspect.[ch]
|
||||||
|
/qapi/qapi-events-migration.[ch]
|
||||||
|
/qapi/qapi-events-misc.[ch]
|
||||||
|
/qapi/qapi-events-net.[ch]
|
||||||
|
/qapi/qapi-events-rocker.[ch]
|
||||||
|
/qapi/qapi-events-run-state.[ch]
|
||||||
|
/qapi/qapi-events-sockets.[ch]
|
||||||
|
/qapi/qapi-events-tpm.[ch]
|
||||||
|
/qapi/qapi-events-trace.[ch]
|
||||||
|
/qapi/qapi-events-transaction.[ch]
|
||||||
|
/qapi/qapi-events-ui.[ch]
|
||||||
|
/qapi/qapi-events.[ch]
|
||||||
|
/qapi/qapi-introspect.[ch]
|
||||||
|
/qapi/qapi-types-block-core.[ch]
|
||||||
|
/qapi/qapi-types-block.[ch]
|
||||||
|
/qapi/qapi-types-char.[ch]
|
||||||
|
/qapi/qapi-types-common.[ch]
|
||||||
|
/qapi/qapi-types-crypto.[ch]
|
||||||
|
/qapi/qapi-types-introspect.[ch]
|
||||||
|
/qapi/qapi-types-migration.[ch]
|
||||||
|
/qapi/qapi-types-misc.[ch]
|
||||||
|
/qapi/qapi-types-net.[ch]
|
||||||
|
/qapi/qapi-types-rocker.[ch]
|
||||||
|
/qapi/qapi-types-run-state.[ch]
|
||||||
|
/qapi/qapi-types-sockets.[ch]
|
||||||
|
/qapi/qapi-types-tpm.[ch]
|
||||||
|
/qapi/qapi-types-trace.[ch]
|
||||||
|
/qapi/qapi-types-transaction.[ch]
|
||||||
|
/qapi/qapi-types-ui.[ch]
|
||||||
|
/qapi/qapi-types.[ch]
|
||||||
|
/qapi/qapi-visit-block-core.[ch]
|
||||||
|
/qapi/qapi-visit-block.[ch]
|
||||||
|
/qapi/qapi-visit-char.[ch]
|
||||||
|
/qapi/qapi-visit-common.[ch]
|
||||||
|
/qapi/qapi-visit-crypto.[ch]
|
||||||
|
/qapi/qapi-visit-introspect.[ch]
|
||||||
|
/qapi/qapi-visit-migration.[ch]
|
||||||
|
/qapi/qapi-visit-misc.[ch]
|
||||||
|
/qapi/qapi-visit-net.[ch]
|
||||||
|
/qapi/qapi-visit-rocker.[ch]
|
||||||
|
/qapi/qapi-visit-run-state.[ch]
|
||||||
|
/qapi/qapi-visit-sockets.[ch]
|
||||||
|
/qapi/qapi-visit-tpm.[ch]
|
||||||
|
/qapi/qapi-visit-trace.[ch]
|
||||||
|
/qapi/qapi-visit-transaction.[ch]
|
||||||
|
/qapi/qapi-visit-ui.[ch]
|
||||||
|
/qapi/qapi-visit.[ch]
|
||||||
|
/qapi/qapi-doc.texi
|
||||||
/qemu-doc.html
|
/qemu-doc.html
|
||||||
/qemu-doc.info
|
/qemu-doc.info
|
||||||
/qemu-doc.txt
|
/qemu-doc.txt
|
||||||
|
|
233
Makefile
233
Makefile
|
@ -90,10 +90,78 @@ endif
|
||||||
include $(SRC_PATH)/rules.mak
|
include $(SRC_PATH)/rules.mak
|
||||||
|
|
||||||
GENERATED_FILES = qemu-version.h config-host.h qemu-options.def
|
GENERATED_FILES = qemu-version.h config-host.h qemu-options.def
|
||||||
GENERATED_FILES += qmp-commands.h qapi-types.h qapi-visit.h qapi-event.h
|
GENERATED_FILES += qapi/qapi-builtin-types.h qapi/qapi-builtin-types.c
|
||||||
GENERATED_FILES += qmp-marshal.c qapi-types.c qapi-visit.c qapi-event.c
|
GENERATED_FILES += qapi/qapi-types.h qapi/qapi-types.c
|
||||||
GENERATED_FILES += qmp-introspect.h
|
GENERATED_FILES += qapi/qapi-types-block-core.h qapi/qapi-types-block-core.c
|
||||||
GENERATED_FILES += qmp-introspect.c
|
GENERATED_FILES += qapi/qapi-types-block.h qapi/qapi-types-block.c
|
||||||
|
GENERATED_FILES += qapi/qapi-types-char.h qapi/qapi-types-char.c
|
||||||
|
GENERATED_FILES += qapi/qapi-types-common.h qapi/qapi-types-common.c
|
||||||
|
GENERATED_FILES += qapi/qapi-types-crypto.h qapi/qapi-types-crypto.c
|
||||||
|
GENERATED_FILES += qapi/qapi-types-introspect.h qapi/qapi-types-introspect.c
|
||||||
|
GENERATED_FILES += qapi/qapi-types-migration.h qapi/qapi-types-migration.c
|
||||||
|
GENERATED_FILES += qapi/qapi-types-misc.h qapi/qapi-types-misc.c
|
||||||
|
GENERATED_FILES += qapi/qapi-types-net.h qapi/qapi-types-net.c
|
||||||
|
GENERATED_FILES += qapi/qapi-types-rocker.h qapi/qapi-types-rocker.c
|
||||||
|
GENERATED_FILES += qapi/qapi-types-run-state.h qapi/qapi-types-run-state.c
|
||||||
|
GENERATED_FILES += qapi/qapi-types-sockets.h qapi/qapi-types-sockets.c
|
||||||
|
GENERATED_FILES += qapi/qapi-types-tpm.h qapi/qapi-types-tpm.c
|
||||||
|
GENERATED_FILES += qapi/qapi-types-trace.h qapi/qapi-types-trace.c
|
||||||
|
GENERATED_FILES += qapi/qapi-types-transaction.h qapi/qapi-types-transaction.c
|
||||||
|
GENERATED_FILES += qapi/qapi-types-ui.h qapi/qapi-types-ui.c
|
||||||
|
GENERATED_FILES += qapi/qapi-builtin-visit.h qapi/qapi-builtin-visit.c
|
||||||
|
GENERATED_FILES += qapi/qapi-visit.h qapi/qapi-visit.c
|
||||||
|
GENERATED_FILES += qapi/qapi-visit-block-core.h qapi/qapi-visit-block-core.c
|
||||||
|
GENERATED_FILES += qapi/qapi-visit-block.h qapi/qapi-visit-block.c
|
||||||
|
GENERATED_FILES += qapi/qapi-visit-char.h qapi/qapi-visit-char.c
|
||||||
|
GENERATED_FILES += qapi/qapi-visit-common.h qapi/qapi-visit-common.c
|
||||||
|
GENERATED_FILES += qapi/qapi-visit-crypto.h qapi/qapi-visit-crypto.c
|
||||||
|
GENERATED_FILES += qapi/qapi-visit-introspect.h qapi/qapi-visit-introspect.c
|
||||||
|
GENERATED_FILES += qapi/qapi-visit-migration.h qapi/qapi-visit-migration.c
|
||||||
|
GENERATED_FILES += qapi/qapi-visit-misc.h qapi/qapi-visit-misc.c
|
||||||
|
GENERATED_FILES += qapi/qapi-visit-net.h qapi/qapi-visit-net.c
|
||||||
|
GENERATED_FILES += qapi/qapi-visit-rocker.h qapi/qapi-visit-rocker.c
|
||||||
|
GENERATED_FILES += qapi/qapi-visit-run-state.h qapi/qapi-visit-run-state.c
|
||||||
|
GENERATED_FILES += qapi/qapi-visit-sockets.h qapi/qapi-visit-sockets.c
|
||||||
|
GENERATED_FILES += qapi/qapi-visit-tpm.h qapi/qapi-visit-tpm.c
|
||||||
|
GENERATED_FILES += qapi/qapi-visit-trace.h qapi/qapi-visit-trace.c
|
||||||
|
GENERATED_FILES += qapi/qapi-visit-transaction.h qapi/qapi-visit-transaction.c
|
||||||
|
GENERATED_FILES += qapi/qapi-visit-ui.h qapi/qapi-visit-ui.c
|
||||||
|
GENERATED_FILES += qapi/qapi-commands.h qapi/qapi-commands.c
|
||||||
|
GENERATED_FILES += qapi/qapi-commands-block-core.h qapi/qapi-commands-block-core.c
|
||||||
|
GENERATED_FILES += qapi/qapi-commands-block.h qapi/qapi-commands-block.c
|
||||||
|
GENERATED_FILES += qapi/qapi-commands-char.h qapi/qapi-commands-char.c
|
||||||
|
GENERATED_FILES += qapi/qapi-commands-common.h qapi/qapi-commands-common.c
|
||||||
|
GENERATED_FILES += qapi/qapi-commands-crypto.h qapi/qapi-commands-crypto.c
|
||||||
|
GENERATED_FILES += qapi/qapi-commands-introspect.h qapi/qapi-commands-introspect.c
|
||||||
|
GENERATED_FILES += qapi/qapi-commands-migration.h qapi/qapi-commands-migration.c
|
||||||
|
GENERATED_FILES += qapi/qapi-commands-misc.h qapi/qapi-commands-misc.c
|
||||||
|
GENERATED_FILES += qapi/qapi-commands-net.h qapi/qapi-commands-net.c
|
||||||
|
GENERATED_FILES += qapi/qapi-commands-rocker.h qapi/qapi-commands-rocker.c
|
||||||
|
GENERATED_FILES += qapi/qapi-commands-run-state.h qapi/qapi-commands-run-state.c
|
||||||
|
GENERATED_FILES += qapi/qapi-commands-sockets.h qapi/qapi-commands-sockets.c
|
||||||
|
GENERATED_FILES += qapi/qapi-commands-tpm.h qapi/qapi-commands-tpm.c
|
||||||
|
GENERATED_FILES += qapi/qapi-commands-trace.h qapi/qapi-commands-trace.c
|
||||||
|
GENERATED_FILES += qapi/qapi-commands-transaction.h qapi/qapi-commands-transaction.c
|
||||||
|
GENERATED_FILES += qapi/qapi-commands-ui.h qapi/qapi-commands-ui.c
|
||||||
|
GENERATED_FILES += qapi/qapi-events.h qapi/qapi-events.c
|
||||||
|
GENERATED_FILES += qapi/qapi-events-block-core.h qapi/qapi-events-block-core.c
|
||||||
|
GENERATED_FILES += qapi/qapi-events-block.h qapi/qapi-events-block.c
|
||||||
|
GENERATED_FILES += qapi/qapi-events-char.h qapi/qapi-events-char.c
|
||||||
|
GENERATED_FILES += qapi/qapi-events-common.h qapi/qapi-events-common.c
|
||||||
|
GENERATED_FILES += qapi/qapi-events-crypto.h qapi/qapi-events-crypto.c
|
||||||
|
GENERATED_FILES += qapi/qapi-events-introspect.h qapi/qapi-events-introspect.c
|
||||||
|
GENERATED_FILES += qapi/qapi-events-migration.h qapi/qapi-events-migration.c
|
||||||
|
GENERATED_FILES += qapi/qapi-events-misc.h qapi/qapi-events-misc.c
|
||||||
|
GENERATED_FILES += qapi/qapi-events-net.h qapi/qapi-events-net.c
|
||||||
|
GENERATED_FILES += qapi/qapi-events-rocker.h qapi/qapi-events-rocker.c
|
||||||
|
GENERATED_FILES += qapi/qapi-events-run-state.h qapi/qapi-events-run-state.c
|
||||||
|
GENERATED_FILES += qapi/qapi-events-sockets.h qapi/qapi-events-sockets.c
|
||||||
|
GENERATED_FILES += qapi/qapi-events-tpm.h qapi/qapi-events-tpm.c
|
||||||
|
GENERATED_FILES += qapi/qapi-events-trace.h qapi/qapi-events-trace.c
|
||||||
|
GENERATED_FILES += qapi/qapi-events-transaction.h qapi/qapi-events-transaction.c
|
||||||
|
GENERATED_FILES += qapi/qapi-events-ui.h qapi/qapi-events-ui.c
|
||||||
|
GENERATED_FILES += qapi/qapi-introspect.c qapi/qapi-introspect.h
|
||||||
|
GENERATED_FILES += qapi/qapi-doc.texi
|
||||||
|
|
||||||
GENERATED_FILES += trace/generated-tcg-tracers.h
|
GENERATED_FILES += trace/generated-tcg-tracers.h
|
||||||
|
|
||||||
|
@ -482,32 +550,34 @@ qemu-ga$(EXESUF): QEMU_CFLAGS += -I qga/qapi-generated
|
||||||
qemu-keymap$(EXESUF): LIBS += $(XKBCOMMON_LIBS)
|
qemu-keymap$(EXESUF): LIBS += $(XKBCOMMON_LIBS)
|
||||||
qemu-keymap$(EXESUF): QEMU_CFLAGS += $(XKBCOMMON_CFLAGS)
|
qemu-keymap$(EXESUF): QEMU_CFLAGS += $(XKBCOMMON_CFLAGS)
|
||||||
|
|
||||||
gen-out-type = $(subst .,-,$(suffix $@))
|
qapi-py = $(SRC_PATH)/scripts/qapi/commands.py \
|
||||||
|
$(SRC_PATH)/scripts/qapi/events.py \
|
||||||
|
$(SRC_PATH)/scripts/qapi/introspect.py \
|
||||||
|
$(SRC_PATH)/scripts/qapi/types.py \
|
||||||
|
$(SRC_PATH)/scripts/qapi/visit.py \
|
||||||
|
$(SRC_PATH)/scripts/qapi/common.py \
|
||||||
|
$(SRC_PATH)/scripts/qapi/doc.py \
|
||||||
|
$(SRC_PATH)/scripts/ordereddict.py \
|
||||||
|
$(SRC_PATH)/scripts/qapi-gen.py
|
||||||
|
|
||||||
qapi-py = $(SRC_PATH)/scripts/qapi.py $(SRC_PATH)/scripts/ordereddict.py
|
qga/qapi-generated/qga-qapi-types.c qga/qapi-generated/qga-qapi-types.h \
|
||||||
|
qga/qapi-generated/qga-qapi-visit.c qga/qapi-generated/qga-qapi-visit.h \
|
||||||
|
qga/qapi-generated/qga-qapi-commands.h qga/qapi-generated/qga-qapi-commands.c \
|
||||||
|
qga/qapi-generated/qga-qapi-doc.texi: \
|
||||||
|
qga/qapi-generated/qapi-gen-timestamp ;
|
||||||
|
qga/qapi-generated/qapi-gen-timestamp: $(SRC_PATH)/qga/qapi-schema.json $(qapi-py)
|
||||||
|
$(call quiet-command,$(PYTHON_UTF8) $(SRC_PATH)/scripts/qapi-gen.py \
|
||||||
|
-o qga/qapi-generated -p "qga-" $<, \
|
||||||
|
"GEN","$(@:%-timestamp=%)")
|
||||||
|
@>$@
|
||||||
|
|
||||||
qga/qapi-generated/qga-qapi-types.c qga/qapi-generated/qga-qapi-types.h :\
|
qapi-modules = $(SRC_PATH)/qapi/qapi-schema.json $(SRC_PATH)/qapi/common.json \
|
||||||
$(SRC_PATH)/qga/qapi-schema.json $(SRC_PATH)/scripts/qapi-types.py $(qapi-py)
|
|
||||||
$(call quiet-command,$(PYTHON_UTF8) $(SRC_PATH)/scripts/qapi-types.py \
|
|
||||||
$(gen-out-type) -o qga/qapi-generated -p "qga-" $<, \
|
|
||||||
"GEN","$@")
|
|
||||||
qga/qapi-generated/qga-qapi-visit.c qga/qapi-generated/qga-qapi-visit.h :\
|
|
||||||
$(SRC_PATH)/qga/qapi-schema.json $(SRC_PATH)/scripts/qapi-visit.py $(qapi-py)
|
|
||||||
$(call quiet-command,$(PYTHON_UTF8) $(SRC_PATH)/scripts/qapi-visit.py \
|
|
||||||
$(gen-out-type) -o qga/qapi-generated -p "qga-" $<, \
|
|
||||||
"GEN","$@")
|
|
||||||
qga/qapi-generated/qga-qmp-commands.h qga/qapi-generated/qga-qmp-marshal.c :\
|
|
||||||
$(SRC_PATH)/qga/qapi-schema.json $(SRC_PATH)/scripts/qapi-commands.py $(qapi-py)
|
|
||||||
$(call quiet-command,$(PYTHON_UTF8) $(SRC_PATH)/scripts/qapi-commands.py \
|
|
||||||
$(gen-out-type) -o qga/qapi-generated -p "qga-" $<, \
|
|
||||||
"GEN","$@")
|
|
||||||
|
|
||||||
qapi-modules = $(SRC_PATH)/qapi-schema.json $(SRC_PATH)/qapi/common.json \
|
|
||||||
$(SRC_PATH)/qapi/block.json $(SRC_PATH)/qapi/block-core.json \
|
$(SRC_PATH)/qapi/block.json $(SRC_PATH)/qapi/block-core.json \
|
||||||
$(SRC_PATH)/qapi/char.json \
|
$(SRC_PATH)/qapi/char.json \
|
||||||
$(SRC_PATH)/qapi/crypto.json \
|
$(SRC_PATH)/qapi/crypto.json \
|
||||||
$(SRC_PATH)/qapi/introspect.json \
|
$(SRC_PATH)/qapi/introspect.json \
|
||||||
$(SRC_PATH)/qapi/migration.json \
|
$(SRC_PATH)/qapi/migration.json \
|
||||||
|
$(SRC_PATH)/qapi/misc.json \
|
||||||
$(SRC_PATH)/qapi/net.json \
|
$(SRC_PATH)/qapi/net.json \
|
||||||
$(SRC_PATH)/qapi/rocker.json \
|
$(SRC_PATH)/qapi/rocker.json \
|
||||||
$(SRC_PATH)/qapi/run-state.json \
|
$(SRC_PATH)/qapi/run-state.json \
|
||||||
|
@ -517,33 +587,86 @@ qapi-modules = $(SRC_PATH)/qapi-schema.json $(SRC_PATH)/qapi/common.json \
|
||||||
$(SRC_PATH)/qapi/transaction.json \
|
$(SRC_PATH)/qapi/transaction.json \
|
||||||
$(SRC_PATH)/qapi/ui.json
|
$(SRC_PATH)/qapi/ui.json
|
||||||
|
|
||||||
qapi-types.c qapi-types.h :\
|
qapi/qapi-builtin-types.c qapi/qapi-builtin-types.h \
|
||||||
$(qapi-modules) $(SRC_PATH)/scripts/qapi-types.py $(qapi-py)
|
qapi/qapi-types.c qapi/qapi-types.h \
|
||||||
$(call quiet-command,$(PYTHON_UTF8) $(SRC_PATH)/scripts/qapi-types.py \
|
qapi/qapi-types-block-core.c qapi/qapi-types-block-core.h \
|
||||||
$(gen-out-type) -o "." -b $<, \
|
qapi/qapi-types-block.c qapi/qapi-types-block.h \
|
||||||
"GEN","$@")
|
qapi/qapi-types-char.c qapi/qapi-types-char.h \
|
||||||
qapi-visit.c qapi-visit.h :\
|
qapi/qapi-types-common.c qapi/qapi-types-common.h \
|
||||||
$(qapi-modules) $(SRC_PATH)/scripts/qapi-visit.py $(qapi-py)
|
qapi/qapi-types-crypto.c qapi/qapi-types-crypto.h \
|
||||||
$(call quiet-command,$(PYTHON_UTF8) $(SRC_PATH)/scripts/qapi-visit.py \
|
qapi/qapi-types-introspect.c qapi/qapi-types-introspect.h \
|
||||||
$(gen-out-type) -o "." -b $<, \
|
qapi/qapi-types-migration.c qapi/qapi-types-migration.h \
|
||||||
"GEN","$@")
|
qapi/qapi-types-misc.c qapi/qapi-types-misc.h \
|
||||||
qapi-event.c qapi-event.h :\
|
qapi/qapi-types-net.c qapi/qapi-types-net.h \
|
||||||
$(qapi-modules) $(SRC_PATH)/scripts/qapi-event.py $(qapi-py)
|
qapi/qapi-types-rocker.c qapi/qapi-types-rocker.h \
|
||||||
$(call quiet-command,$(PYTHON_UTF8) $(SRC_PATH)/scripts/qapi-event.py \
|
qapi/qapi-types-run-state.c qapi/qapi-types-run-state.h \
|
||||||
$(gen-out-type) -o "." $<, \
|
qapi/qapi-types-sockets.c qapi/qapi-types-sockets.h \
|
||||||
"GEN","$@")
|
qapi/qapi-types-tpm.c qapi/qapi-types-tpm.h \
|
||||||
qmp-commands.h qmp-marshal.c :\
|
qapi/qapi-types-trace.c qapi/qapi-types-trace.h \
|
||||||
$(qapi-modules) $(SRC_PATH)/scripts/qapi-commands.py $(qapi-py)
|
qapi/qapi-types-transaction.c qapi/qapi-types-transaction.h \
|
||||||
$(call quiet-command,$(PYTHON_UTF8) $(SRC_PATH)/scripts/qapi-commands.py \
|
qapi/qapi-types-ui.c qapi/qapi-types-ui.h \
|
||||||
$(gen-out-type) -o "." $<, \
|
qapi/qapi-builtin-visit.c qapi/qapi-builtin-visit.h \
|
||||||
"GEN","$@")
|
qapi/qapi-visit.c qapi/qapi-visit.h \
|
||||||
qmp-introspect.h qmp-introspect.c :\
|
qapi/qapi-visit-block-core.c qapi/qapi-visit-block-core.h \
|
||||||
$(qapi-modules) $(SRC_PATH)/scripts/qapi-introspect.py $(qapi-py)
|
qapi/qapi-visit-block.c qapi/qapi-visit-block.h \
|
||||||
$(call quiet-command,$(PYTHON_UTF8) $(SRC_PATH)/scripts/qapi-introspect.py \
|
qapi/qapi-visit-char.c qapi/qapi-visit-char.h \
|
||||||
$(gen-out-type) -o "." $<, \
|
qapi/qapi-visit-common.c qapi/qapi-visit-common.h \
|
||||||
"GEN","$@")
|
qapi/qapi-visit-crypto.c qapi/qapi-visit-crypto.h \
|
||||||
|
qapi/qapi-visit-introspect.c qapi/qapi-visit-introspect.h \
|
||||||
|
qapi/qapi-visit-migration.c qapi/qapi-visit-migration.h \
|
||||||
|
qapi/qapi-visit-misc.c qapi/qapi-visit-misc.h \
|
||||||
|
qapi/qapi-visit-net.c qapi/qapi-visit-net.h \
|
||||||
|
qapi/qapi-visit-rocker.c qapi/qapi-visit-rocker.h \
|
||||||
|
qapi/qapi-visit-run-state.c qapi/qapi-visit-run-state.h \
|
||||||
|
qapi/qapi-visit-sockets.c qapi/qapi-visit-sockets.h \
|
||||||
|
qapi/qapi-visit-tpm.c qapi/qapi-visit-tpm.h \
|
||||||
|
qapi/qapi-visit-trace.c qapi/qapi-visit-trace.h \
|
||||||
|
qapi/qapi-visit-transaction.c qapi/qapi-visit-transaction.h \
|
||||||
|
qapi/qapi-visit-ui.c qapi/qapi-visit-ui.h \
|
||||||
|
qapi/qapi-commands.h qapi/qapi-commands.c \
|
||||||
|
qapi/qapi-commands-block-core.c qapi/qapi-commands-block-core.h \
|
||||||
|
qapi/qapi-commands-block.c qapi/qapi-commands-block.h \
|
||||||
|
qapi/qapi-commands-char.c qapi/qapi-commands-char.h \
|
||||||
|
qapi/qapi-commands-common.c qapi/qapi-commands-common.h \
|
||||||
|
qapi/qapi-commands-crypto.c qapi/qapi-commands-crypto.h \
|
||||||
|
qapi/qapi-commands-introspect.c qapi/qapi-commands-introspect.h \
|
||||||
|
qapi/qapi-commands-migration.c qapi/qapi-commands-migration.h \
|
||||||
|
qapi/qapi-commands-misc.c qapi/qapi-commands-misc.h \
|
||||||
|
qapi/qapi-commands-net.c qapi/qapi-commands-net.h \
|
||||||
|
qapi/qapi-commands-rocker.c qapi/qapi-commands-rocker.h \
|
||||||
|
qapi/qapi-commands-run-state.c qapi/qapi-commands-run-state.h \
|
||||||
|
qapi/qapi-commands-sockets.c qapi/qapi-commands-sockets.h \
|
||||||
|
qapi/qapi-commands-tpm.c qapi/qapi-commands-tpm.h \
|
||||||
|
qapi/qapi-commands-trace.c qapi/qapi-commands-trace.h \
|
||||||
|
qapi/qapi-commands-transaction.c qapi/qapi-commands-transaction.h \
|
||||||
|
qapi/qapi-commands-ui.c qapi/qapi-commands-ui.h \
|
||||||
|
qapi/qapi-events.c qapi/qapi-events.h \
|
||||||
|
qapi/qapi-events-block-core.c qapi/qapi-events-block-core.h \
|
||||||
|
qapi/qapi-events-block.c qapi/qapi-events-block.h \
|
||||||
|
qapi/qapi-events-char.c qapi/qapi-events-char.h \
|
||||||
|
qapi/qapi-events-common.c qapi/qapi-events-common.h \
|
||||||
|
qapi/qapi-events-crypto.c qapi/qapi-events-crypto.h \
|
||||||
|
qapi/qapi-events-introspect.c qapi/qapi-events-introspect.h \
|
||||||
|
qapi/qapi-events-migration.c qapi/qapi-events-migration.h \
|
||||||
|
qapi/qapi-events-misc.c qapi/qapi-events-misc.h \
|
||||||
|
qapi/qapi-events-net.c qapi/qapi-events-net.h \
|
||||||
|
qapi/qapi-events-rocker.c qapi/qapi-events-rocker.h \
|
||||||
|
qapi/qapi-events-run-state.c qapi/qapi-events-run-state.h \
|
||||||
|
qapi/qapi-events-sockets.c qapi/qapi-events-sockets.h \
|
||||||
|
qapi/qapi-events-tpm.c qapi/qapi-events-tpm.h \
|
||||||
|
qapi/qapi-events-trace.c qapi/qapi-events-trace.h \
|
||||||
|
qapi/qapi-events-transaction.c qapi/qapi-events-transaction.h \
|
||||||
|
qapi/qapi-events-ui.c qapi/qapi-events-ui.h \
|
||||||
|
qapi/qapi-introspect.h qapi/qapi-introspect.c \
|
||||||
|
qapi/qapi-doc.texi: \
|
||||||
|
qapi-gen-timestamp ;
|
||||||
|
qapi-gen-timestamp: $(qapi-modules) $(qapi-py)
|
||||||
|
$(call quiet-command,$(PYTHON_UTF8) $(SRC_PATH)/scripts/qapi-gen.py \
|
||||||
|
-o "qapi" -b $<, \
|
||||||
|
"GEN","$(@:%-timestamp=%)")
|
||||||
|
@>$@
|
||||||
|
|
||||||
QGALIB_GEN=$(addprefix qga/qapi-generated/, qga-qapi-types.h qga-qapi-visit.h qga-qmp-commands.h)
|
QGALIB_GEN=$(addprefix qga/qapi-generated/, qga-qapi-types.h qga-qapi-visit.h qga-qapi-commands.h)
|
||||||
$(qga-obj-y): $(QGALIB_GEN)
|
$(qga-obj-y): $(QGALIB_GEN)
|
||||||
|
|
||||||
qemu-ga$(EXESUF): $(qga-obj-y) $(COMMON_LDADDS)
|
qemu-ga$(EXESUF): $(qga-obj-y) $(COMMON_LDADDS)
|
||||||
|
@ -601,7 +724,7 @@ clean:
|
||||||
rm -f trace/generated-tracers-dtrace.dtrace*
|
rm -f trace/generated-tracers-dtrace.dtrace*
|
||||||
rm -f trace/generated-tracers-dtrace.h*
|
rm -f trace/generated-tracers-dtrace.h*
|
||||||
rm -f $(foreach f,$(GENERATED_FILES),$(f) $(f)-timestamp)
|
rm -f $(foreach f,$(GENERATED_FILES),$(f) $(f)-timestamp)
|
||||||
rm -rf qapi-generated
|
rm -f qapi-gen-timestamp
|
||||||
rm -rf qga/qapi-generated
|
rm -rf qga/qapi-generated
|
||||||
for d in $(ALL_SUBDIRS); do \
|
for d in $(ALL_SUBDIRS); do \
|
||||||
if test -d $$d; then $(MAKE) -C $$d $@ || exit 1; fi; \
|
if test -d $$d; then $(MAKE) -C $$d $@ || exit 1; fi; \
|
||||||
|
@ -809,13 +932,11 @@ qemu-monitor-info.texi: $(SRC_PATH)/hmp-commands-info.hx $(SRC_PATH)/scripts/hxt
|
||||||
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","$@")
|
||||||
|
|
||||||
docs/interop/qemu-qmp-qapi.texi docs/interop/qemu-ga-qapi.texi: $(SRC_PATH)/scripts/qapi2texi.py $(qapi-py)
|
docs/interop/qemu-qmp-qapi.texi: qapi/qapi-doc.texi
|
||||||
|
@cp -p $< $@
|
||||||
|
|
||||||
docs/interop/qemu-qmp-qapi.texi: $(qapi-modules)
|
docs/interop/qemu-ga-qapi.texi: qga/qapi-generated/qga-qapi-doc.texi
|
||||||
$(call quiet-command,$(PYTHON_UTF8) $(SRC_PATH)/scripts/qapi2texi.py $< > $@,"GEN","$@")
|
@cp -p $< $@
|
||||||
|
|
||||||
docs/interop/qemu-ga-qapi.texi: $(SRC_PATH)/qga/qapi-schema.json
|
|
||||||
$(call quiet-command,$(PYTHON_UTF8) $(SRC_PATH)/scripts/qapi2texi.py $< > $@,"GEN","$@")
|
|
||||||
|
|
||||||
qemu.1: qemu-doc.texi qemu-options.texi qemu-monitor.texi qemu-monitor-info.texi
|
qemu.1: qemu-doc.texi qemu-options.texi qemu-monitor.texi qemu-monitor-info.texi
|
||||||
qemu.1: qemu-option-trace.texi
|
qemu.1: qemu-option-trace.texi
|
||||||
|
|
|
@ -2,7 +2,60 @@
|
||||||
# Common libraries for tools and emulators
|
# Common libraries for tools and emulators
|
||||||
stub-obj-y = stubs/ crypto/
|
stub-obj-y = stubs/ crypto/
|
||||||
util-obj-y = util/ qobject/ qapi/
|
util-obj-y = util/ qobject/ qapi/
|
||||||
util-obj-y += qmp-introspect.o qapi-types.o qapi-visit.o qapi-event.o
|
util-obj-y += qapi/qapi-builtin-types.o
|
||||||
|
util-obj-y += qapi/qapi-types.o
|
||||||
|
util-obj-y += qapi/qapi-types-block-core.o
|
||||||
|
util-obj-y += qapi/qapi-types-block.o
|
||||||
|
util-obj-y += qapi/qapi-types-char.o
|
||||||
|
util-obj-y += qapi/qapi-types-common.o
|
||||||
|
util-obj-y += qapi/qapi-types-crypto.o
|
||||||
|
util-obj-y += qapi/qapi-types-introspect.o
|
||||||
|
util-obj-y += qapi/qapi-types-migration.o
|
||||||
|
util-obj-y += qapi/qapi-types-misc.o
|
||||||
|
util-obj-y += qapi/qapi-types-net.o
|
||||||
|
util-obj-y += qapi/qapi-types-rocker.o
|
||||||
|
util-obj-y += qapi/qapi-types-run-state.o
|
||||||
|
util-obj-y += qapi/qapi-types-sockets.o
|
||||||
|
util-obj-y += qapi/qapi-types-tpm.o
|
||||||
|
util-obj-y += qapi/qapi-types-trace.o
|
||||||
|
util-obj-y += qapi/qapi-types-transaction.o
|
||||||
|
util-obj-y += qapi/qapi-types-ui.o
|
||||||
|
util-obj-y += qapi/qapi-builtin-visit.o
|
||||||
|
util-obj-y += qapi/qapi-visit.o
|
||||||
|
util-obj-y += qapi/qapi-visit-block-core.o
|
||||||
|
util-obj-y += qapi/qapi-visit-block.o
|
||||||
|
util-obj-y += qapi/qapi-visit-char.o
|
||||||
|
util-obj-y += qapi/qapi-visit-common.o
|
||||||
|
util-obj-y += qapi/qapi-visit-crypto.o
|
||||||
|
util-obj-y += qapi/qapi-visit-introspect.o
|
||||||
|
util-obj-y += qapi/qapi-visit-migration.o
|
||||||
|
util-obj-y += qapi/qapi-visit-misc.o
|
||||||
|
util-obj-y += qapi/qapi-visit-net.o
|
||||||
|
util-obj-y += qapi/qapi-visit-rocker.o
|
||||||
|
util-obj-y += qapi/qapi-visit-run-state.o
|
||||||
|
util-obj-y += qapi/qapi-visit-sockets.o
|
||||||
|
util-obj-y += qapi/qapi-visit-tpm.o
|
||||||
|
util-obj-y += qapi/qapi-visit-trace.o
|
||||||
|
util-obj-y += qapi/qapi-visit-transaction.o
|
||||||
|
util-obj-y += qapi/qapi-visit-ui.o
|
||||||
|
util-obj-y += qapi/qapi-events.o
|
||||||
|
util-obj-y += qapi/qapi-events-block-core.o
|
||||||
|
util-obj-y += qapi/qapi-events-block.o
|
||||||
|
util-obj-y += qapi/qapi-events-char.o
|
||||||
|
util-obj-y += qapi/qapi-events-common.o
|
||||||
|
util-obj-y += qapi/qapi-events-crypto.o
|
||||||
|
util-obj-y += qapi/qapi-events-introspect.o
|
||||||
|
util-obj-y += qapi/qapi-events-migration.o
|
||||||
|
util-obj-y += qapi/qapi-events-misc.o
|
||||||
|
util-obj-y += qapi/qapi-events-net.o
|
||||||
|
util-obj-y += qapi/qapi-events-rocker.o
|
||||||
|
util-obj-y += qapi/qapi-events-run-state.o
|
||||||
|
util-obj-y += qapi/qapi-events-sockets.o
|
||||||
|
util-obj-y += qapi/qapi-events-tpm.o
|
||||||
|
util-obj-y += qapi/qapi-events-trace.o
|
||||||
|
util-obj-y += qapi/qapi-events-transaction.o
|
||||||
|
util-obj-y += qapi/qapi-events-ui.o
|
||||||
|
util-obj-y += qapi/qapi-introspect.o
|
||||||
|
|
||||||
chardev-obj-y = chardev/
|
chardev-obj-y = chardev/
|
||||||
|
|
||||||
|
@ -78,8 +131,24 @@ common-obj-$(CONFIG_FDT) += device_tree.o
|
||||||
######################################################################
|
######################################################################
|
||||||
# qapi
|
# qapi
|
||||||
|
|
||||||
common-obj-y += qmp-marshal.o
|
common-obj-y += qapi/qapi-commands.o
|
||||||
common-obj-y += qmp-introspect.o
|
common-obj-y += qapi/qapi-commands-block-core.o
|
||||||
|
common-obj-y += qapi/qapi-commands-block.o
|
||||||
|
common-obj-y += qapi/qapi-commands-char.o
|
||||||
|
common-obj-y += qapi/qapi-commands-common.o
|
||||||
|
common-obj-y += qapi/qapi-commands-crypto.o
|
||||||
|
common-obj-y += qapi/qapi-commands-introspect.o
|
||||||
|
common-obj-y += qapi/qapi-commands-migration.o
|
||||||
|
common-obj-y += qapi/qapi-commands-misc.o
|
||||||
|
common-obj-y += qapi/qapi-commands-net.o
|
||||||
|
common-obj-y += qapi/qapi-commands-rocker.o
|
||||||
|
common-obj-y += qapi/qapi-commands-run-state.o
|
||||||
|
common-obj-y += qapi/qapi-commands-sockets.o
|
||||||
|
common-obj-y += qapi/qapi-commands-tpm.o
|
||||||
|
common-obj-y += qapi/qapi-commands-trace.o
|
||||||
|
common-obj-y += qapi/qapi-commands-transaction.o
|
||||||
|
common-obj-y += qapi/qapi-commands-ui.o
|
||||||
|
common-obj-y += qapi/qapi-introspect.o
|
||||||
common-obj-y += qmp.o hmp.o
|
common-obj-y += qmp.o hmp.o
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -102,8 +171,9 @@ target-obj-y += trace/
|
||||||
######################################################################
|
######################################################################
|
||||||
# guest agent
|
# guest agent
|
||||||
|
|
||||||
# FIXME: a few definitions from qapi-types.o/qapi-visit.o are needed
|
# FIXME: a few definitions from qapi/qapi-types.o and
|
||||||
# by libqemuutil.a. These should be moved to a separate .json schema.
|
# qapi/qapi-visit.o are needed by libqemuutil.a. These should be
|
||||||
|
# extracted into a QAPI schema module, or perhaps a separate schema.
|
||||||
qga-obj-y = qga/
|
qga-obj-y = qga/
|
||||||
qga-vss-dll-obj-y = qga/
|
qga-vss-dll-obj-y = qga/
|
||||||
|
|
||||||
|
|
|
@ -28,9 +28,9 @@
|
||||||
#include "sysemu/arch_init.h"
|
#include "sysemu/arch_init.h"
|
||||||
#include "hw/pci/pci.h"
|
#include "hw/pci/pci.h"
|
||||||
#include "hw/audio/soundhw.h"
|
#include "hw/audio/soundhw.h"
|
||||||
|
#include "qapi/qapi-commands-misc.h"
|
||||||
#include "qemu/config-file.h"
|
#include "qemu/config-file.h"
|
||||||
#include "qemu/error-report.h"
|
#include "qemu/error-report.h"
|
||||||
#include "qmp-commands.h"
|
|
||||||
#include "hw/acpi/acpi.h"
|
#include "hw/acpi/acpi.h"
|
||||||
#include "qemu/help_option.h"
|
#include "qemu/help_option.h"
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,6 @@
|
||||||
#include "hw/boards.h"
|
#include "hw/boards.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
#include "qapi/visitor.h"
|
#include "qapi/visitor.h"
|
||||||
#include "qapi-visit.h"
|
|
||||||
#include "qemu/config-file.h"
|
#include "qemu/config-file.h"
|
||||||
#include "qom/object_interfaces.h"
|
#include "qom/object_interfaces.h"
|
||||||
#include "hw/virtio/virtio-crypto.h"
|
#include "hw/virtio/virtio-crypto.h"
|
||||||
|
|
|
@ -9,12 +9,13 @@
|
||||||
* This work is licensed under the terms of the GNU GPL, version 2 or later.
|
* This work is licensed under the terms of the GNU GPL, version 2 or later.
|
||||||
* See the COPYING file in the top-level directory.
|
* See the COPYING file in the top-level directory.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "sysemu/hostmem.h"
|
#include "sysemu/hostmem.h"
|
||||||
#include "hw/boards.h"
|
#include "hw/boards.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
|
#include "qapi/qapi-builtin-visit.h"
|
||||||
#include "qapi/visitor.h"
|
#include "qapi/visitor.h"
|
||||||
#include "qapi-visit.h"
|
|
||||||
#include "qemu/config-file.h"
|
#include "qemu/config-file.h"
|
||||||
#include "qom/object_interfaces.h"
|
#include "qom/object_interfaces.h"
|
||||||
|
|
||||||
|
|
|
@ -30,8 +30,8 @@
|
||||||
#include "sysemu/kvm.h"
|
#include "sysemu/kvm.h"
|
||||||
#include "sysemu/balloon.h"
|
#include "sysemu/balloon.h"
|
||||||
#include "trace-root.h"
|
#include "trace-root.h"
|
||||||
#include "qmp-commands.h"
|
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
|
#include "qapi/qapi-commands-misc.h"
|
||||||
#include "qapi/qmp/qerror.h"
|
#include "qapi/qmp/qerror.h"
|
||||||
|
|
||||||
static QEMUBalloonEvent *balloon_event_fn;
|
static QEMUBalloonEvent *balloon_event_fn;
|
||||||
|
|
2
block.c
2
block.c
|
@ -32,7 +32,6 @@
|
||||||
#include "qemu/module.h"
|
#include "qemu/module.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
#include "qapi/qmp/qdict.h"
|
#include "qapi/qmp/qdict.h"
|
||||||
#include "qapi/qmp/qerror.h"
|
|
||||||
#include "qapi/qmp/qjson.h"
|
#include "qapi/qmp/qjson.h"
|
||||||
#include "qapi/qmp/qstring.h"
|
#include "qapi/qmp/qstring.h"
|
||||||
#include "sysemu/block-backend.h"
|
#include "sysemu/block-backend.h"
|
||||||
|
@ -42,7 +41,6 @@
|
||||||
#include "qemu/coroutine.h"
|
#include "qemu/coroutine.h"
|
||||||
#include "block/qapi.h"
|
#include "block/qapi.h"
|
||||||
#include "qemu/timer.h"
|
#include "qemu/timer.h"
|
||||||
#include "qapi-event.h"
|
|
||||||
#include "qemu/cutils.h"
|
#include "qemu/cutils.h"
|
||||||
#include "qemu/id.h"
|
#include "qemu/id.h"
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,8 @@
|
||||||
#include "block/throttle-groups.h"
|
#include "block/throttle-groups.h"
|
||||||
#include "sysemu/blockdev.h"
|
#include "sysemu/blockdev.h"
|
||||||
#include "sysemu/sysemu.h"
|
#include "sysemu/sysemu.h"
|
||||||
#include "qapi-event.h"
|
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
|
#include "qapi/qapi-events-block.h"
|
||||||
#include "qemu/id.h"
|
#include "qemu/id.h"
|
||||||
#include "qemu/option.h"
|
#include "qemu/option.h"
|
||||||
#include "trace.h"
|
#include "trace.h"
|
||||||
|
|
|
@ -24,9 +24,9 @@
|
||||||
#include "sysemu/block-backend.h"
|
#include "sysemu/block-backend.h"
|
||||||
#include "crypto/block.h"
|
#include "crypto/block.h"
|
||||||
#include "qapi/opts-visitor.h"
|
#include "qapi/opts-visitor.h"
|
||||||
|
#include "qapi/qapi-visit-crypto.h"
|
||||||
#include "qapi/qmp/qdict.h"
|
#include "qapi/qmp/qdict.h"
|
||||||
#include "qapi/qobject-input-visitor.h"
|
#include "qapi/qobject-input-visitor.h"
|
||||||
#include "qapi-visit.h"
|
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
#include "qemu/option.h"
|
#include "qemu/option.h"
|
||||||
#include "block/crypto.h"
|
#include "block/crypto.h"
|
||||||
|
|
|
@ -37,8 +37,8 @@
|
||||||
#include "qemu/iov.h"
|
#include "qemu/iov.h"
|
||||||
#include "qemu/option.h"
|
#include "qemu/option.h"
|
||||||
#include "qemu/uuid.h"
|
#include "qemu/uuid.h"
|
||||||
#include "qmp-commands.h"
|
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
|
#include "qapi/qapi-commands-misc.h"
|
||||||
#include "qapi/qmp/qdict.h"
|
#include "qapi/qmp/qdict.h"
|
||||||
#include "qapi/qmp/qstring.h"
|
#include "qapi/qmp/qstring.h"
|
||||||
#include "crypto/secret.h"
|
#include "crypto/secret.h"
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
#include "block/block_int.h"
|
#include "block/block_int.h"
|
||||||
#include "qemu/module.h"
|
#include "qemu/module.h"
|
||||||
#include "qemu/option.h"
|
#include "qemu/option.h"
|
||||||
#include "qapi-visit.h"
|
#include "qapi/qapi-visit-sockets.h"
|
||||||
#include "qapi/qobject-input-visitor.h"
|
#include "qapi/qobject-input-visitor.h"
|
||||||
#include "qapi/qobject-output-visitor.h"
|
#include "qapi/qobject-output-visitor.h"
|
||||||
#include "qapi/qmp/qdict.h"
|
#include "qapi/qmp/qdict.h"
|
||||||
|
|
|
@ -35,9 +35,9 @@
|
||||||
#include "qemu/uri.h"
|
#include "qemu/uri.h"
|
||||||
#include "qemu/cutils.h"
|
#include "qemu/cutils.h"
|
||||||
#include "sysemu/sysemu.h"
|
#include "sysemu/sysemu.h"
|
||||||
|
#include "qapi/qapi-visit-block-core.h"
|
||||||
#include "qapi/qmp/qdict.h"
|
#include "qapi/qmp/qdict.h"
|
||||||
#include "qapi/qmp/qstring.h"
|
#include "qapi/qmp/qstring.h"
|
||||||
#include "qapi-visit.h"
|
|
||||||
#include "qapi/qobject-input-visitor.h"
|
#include "qapi/qobject-input-visitor.h"
|
||||||
#include "qapi/qobject-output-visitor.h"
|
#include "qapi/qobject-output-visitor.h"
|
||||||
#include <nfsc/libnfs.h>
|
#include <nfsc/libnfs.h>
|
||||||
|
|
|
@ -27,10 +27,10 @@
|
||||||
#include "block/block_int.h"
|
#include "block/block_int.h"
|
||||||
#include "block/throttle-groups.h"
|
#include "block/throttle-groups.h"
|
||||||
#include "block/write-threshold.h"
|
#include "block/write-threshold.h"
|
||||||
#include "qmp-commands.h"
|
|
||||||
#include "qapi-visit.h"
|
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
|
#include "qapi/qapi-commands-block-core.h"
|
||||||
#include "qapi/qobject-output-visitor.h"
|
#include "qapi/qobject-output-visitor.h"
|
||||||
|
#include "qapi/qapi-visit-block-core.h"
|
||||||
#include "qapi/qmp/qbool.h"
|
#include "qapi/qmp/qbool.h"
|
||||||
#include "qapi/qmp/qdict.h"
|
#include "qapi/qmp/qdict.h"
|
||||||
#include "qapi/qmp/qlist.h"
|
#include "qapi/qmp/qlist.h"
|
||||||
|
|
|
@ -30,16 +30,14 @@
|
||||||
#include "block/qcow2.h"
|
#include "block/qcow2.h"
|
||||||
#include "qemu/error-report.h"
|
#include "qemu/error-report.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
#include "qapi/qmp/qerror.h"
|
#include "qapi/qapi-events-block-core.h"
|
||||||
#include "qapi/qmp/qdict.h"
|
#include "qapi/qmp/qdict.h"
|
||||||
#include "qapi/qmp/qstring.h"
|
#include "qapi/qmp/qstring.h"
|
||||||
#include "qapi-event.h"
|
|
||||||
#include "trace.h"
|
#include "trace.h"
|
||||||
#include "qemu/option_int.h"
|
#include "qemu/option_int.h"
|
||||||
#include "qemu/cutils.h"
|
#include "qemu/cutils.h"
|
||||||
#include "qemu/bswap.h"
|
#include "qemu/bswap.h"
|
||||||
#include "qapi/opts-visitor.h"
|
#include "qapi/opts-visitor.h"
|
||||||
#include "qapi-visit.h"
|
|
||||||
#include "block/crypto.h"
|
#include "block/crypto.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -18,11 +18,11 @@
|
||||||
#include "qemu/option.h"
|
#include "qemu/option.h"
|
||||||
#include "block/block_int.h"
|
#include "block/block_int.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
|
#include "qapi/qapi-events-block.h"
|
||||||
#include "qapi/qmp/qdict.h"
|
#include "qapi/qmp/qdict.h"
|
||||||
#include "qapi/qmp/qerror.h"
|
#include "qapi/qmp/qerror.h"
|
||||||
#include "qapi/qmp/qlist.h"
|
#include "qapi/qmp/qlist.h"
|
||||||
#include "qapi/qmp/qstring.h"
|
#include "qapi/qmp/qstring.h"
|
||||||
#include "qapi-event.h"
|
|
||||||
#include "crypto/hash.h"
|
#include "crypto/hash.h"
|
||||||
|
|
||||||
#define HASH_LENGTH 32
|
#define HASH_LENGTH 32
|
||||||
|
|
|
@ -13,8 +13,8 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "qapi-visit.h"
|
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
|
#include "qapi/qapi-visit-sockets.h"
|
||||||
#include "qapi/qmp/qdict.h"
|
#include "qapi/qmp/qdict.h"
|
||||||
#include "qapi/qobject-input-visitor.h"
|
#include "qapi/qobject-input-visitor.h"
|
||||||
#include "qemu/uri.h"
|
#include "qemu/uri.h"
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
#include "qemu/cutils.h"
|
#include "qemu/cutils.h"
|
||||||
#include "qemu/sockets.h"
|
#include "qemu/sockets.h"
|
||||||
#include "qemu/uri.h"
|
#include "qemu/uri.h"
|
||||||
#include "qapi-visit.h"
|
#include "qapi/qapi-visit-sockets.h"
|
||||||
#include "qapi/qmp/qdict.h"
|
#include "qapi/qmp/qdict.h"
|
||||||
#include "qapi/qmp/qstring.h"
|
#include "qapi/qmp/qstring.h"
|
||||||
#include "qapi/qobject-input-visitor.h"
|
#include "qapi/qobject-input-visitor.h"
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
#include "qemu/thread.h"
|
#include "qemu/thread.h"
|
||||||
#include "sysemu/qtest.h"
|
#include "sysemu/qtest.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
#include "qapi-visit.h"
|
#include "qapi/qapi-visit-block-core.h"
|
||||||
#include "qom/object.h"
|
#include "qom/object.h"
|
||||||
#include "qom/object_interfaces.h"
|
#include "qom/object_interfaces.h"
|
||||||
|
|
||||||
|
|
|
@ -15,9 +15,9 @@
|
||||||
#include "qemu/coroutine.h"
|
#include "qemu/coroutine.h"
|
||||||
#include "block/write-threshold.h"
|
#include "block/write-threshold.h"
|
||||||
#include "qemu/notify.h"
|
#include "qemu/notify.h"
|
||||||
#include "qapi-event.h"
|
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
#include "qmp-commands.h"
|
#include "qapi/qapi-commands-block-core.h"
|
||||||
|
#include "qapi/qapi-events-block-core.h"
|
||||||
|
|
||||||
uint64_t bdrv_write_threshold_get(const BlockDriverState *bs)
|
uint64_t bdrv_write_threshold_get(const BlockDriverState *bs)
|
||||||
{
|
{
|
||||||
|
|
|
@ -14,8 +14,8 @@
|
||||||
#include "sysemu/block-backend.h"
|
#include "sysemu/block-backend.h"
|
||||||
#include "hw/block/block.h"
|
#include "hw/block/block.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
|
#include "qapi/qapi-commands-block.h"
|
||||||
#include "sysemu/sysemu.h"
|
#include "sysemu/sysemu.h"
|
||||||
#include "qmp-commands.h"
|
|
||||||
#include "block/nbd.h"
|
#include "block/nbd.h"
|
||||||
#include "io/channel-socket.h"
|
#include "io/channel-socket.h"
|
||||||
#include "io/net-listener.h"
|
#include "io/net-listener.h"
|
||||||
|
|
|
@ -40,10 +40,12 @@
|
||||||
#include "qemu/error-report.h"
|
#include "qemu/error-report.h"
|
||||||
#include "qemu/option.h"
|
#include "qemu/option.h"
|
||||||
#include "qemu/config-file.h"
|
#include "qemu/config-file.h"
|
||||||
|
#include "qapi/qapi-commands-block.h"
|
||||||
|
#include "qapi/qapi-commands-transaction.h"
|
||||||
|
#include "qapi/qapi-visit-block-core.h"
|
||||||
#include "qapi/qmp/qdict.h"
|
#include "qapi/qmp/qdict.h"
|
||||||
#include "qapi/qmp/qnum.h"
|
#include "qapi/qmp/qnum.h"
|
||||||
#include "qapi/qmp/qstring.h"
|
#include "qapi/qmp/qstring.h"
|
||||||
#include "qapi-visit.h"
|
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
#include "qapi/qmp/qerror.h"
|
#include "qapi/qmp/qerror.h"
|
||||||
#include "qapi/qmp/qlist.h"
|
#include "qapi/qmp/qlist.h"
|
||||||
|
@ -51,7 +53,6 @@
|
||||||
#include "sysemu/sysemu.h"
|
#include "sysemu/sysemu.h"
|
||||||
#include "sysemu/iothread.h"
|
#include "sysemu/iothread.h"
|
||||||
#include "block/block_int.h"
|
#include "block/block_int.h"
|
||||||
#include "qmp-commands.h"
|
|
||||||
#include "block/trace.h"
|
#include "block/trace.h"
|
||||||
#include "sysemu/arch_init.h"
|
#include "sysemu/arch_init.h"
|
||||||
#include "sysemu/qtest.h"
|
#include "sysemu/qtest.h"
|
||||||
|
|
|
@ -30,11 +30,11 @@
|
||||||
#include "block/block_int.h"
|
#include "block/block_int.h"
|
||||||
#include "sysemu/block-backend.h"
|
#include "sysemu/block-backend.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
|
#include "qapi/qapi-events-block-core.h"
|
||||||
#include "qapi/qmp/qerror.h"
|
#include "qapi/qmp/qerror.h"
|
||||||
#include "qemu/coroutine.h"
|
#include "qemu/coroutine.h"
|
||||||
#include "qemu/id.h"
|
#include "qemu/id.h"
|
||||||
#include "qemu/timer.h"
|
#include "qemu/timer.h"
|
||||||
#include "qapi-event.h"
|
|
||||||
|
|
||||||
/* Right now, this mutex is only needed to synchronize accesses to job->busy
|
/* Right now, this mutex is only needed to synchronize accesses to job->busy
|
||||||
* and job->sleep_timer, such as concurrent calls to block_job_do_yield and
|
* and job->sleep_timer, such as concurrent calls to block_job_do_yield and
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "qemu/error-report.h"
|
#include "qemu/error-report.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
#include "qapi-visit.h"
|
#include "qapi/qmp/qerror.h"
|
||||||
#include "sysemu/replay.h"
|
#include "sysemu/replay.h"
|
||||||
|
|
||||||
#include "chardev/char-fe.h"
|
#include "chardev/char-fe.h"
|
||||||
|
|
|
@ -24,8 +24,8 @@
|
||||||
|
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "chardev/char.h"
|
#include "chardev/char.h"
|
||||||
#include "qmp-commands.h"
|
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
|
#include "qapi/qapi-commands-char.h"
|
||||||
#include "qemu/base64.h"
|
#include "qemu/base64.h"
|
||||||
#include "qemu/option.h"
|
#include "qemu/option.h"
|
||||||
|
|
||||||
|
|
|
@ -31,6 +31,7 @@
|
||||||
#include "qemu/option.h"
|
#include "qemu/option.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
#include "qapi/clone-visitor.h"
|
#include "qapi/clone-visitor.h"
|
||||||
|
#include "qapi/qapi-visit-sockets.h"
|
||||||
|
|
||||||
#include "chardev/char-io.h"
|
#include "chardev/char-io.h"
|
||||||
|
|
||||||
|
|
|
@ -29,9 +29,9 @@
|
||||||
#include "qemu/config-file.h"
|
#include "qemu/config-file.h"
|
||||||
#include "qemu/error-report.h"
|
#include "qemu/error-report.h"
|
||||||
#include "chardev/char.h"
|
#include "chardev/char.h"
|
||||||
#include "qmp-commands.h"
|
|
||||||
#include "qapi-visit.h"
|
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
|
#include "qapi/qapi-commands-char.h"
|
||||||
|
#include "qapi/qmp/qerror.h"
|
||||||
#include "sysemu/replay.h"
|
#include "sysemu/replay.h"
|
||||||
#include "qemu/help_option.h"
|
#include "qemu/help_option.h"
|
||||||
#include "qemu/option.h"
|
#include "qemu/option.h"
|
||||||
|
|
|
@ -7053,7 +7053,6 @@ DIRS="tests tests/tcg tests/tcg/cris tests/tcg/lm32 tests/libqos tests/qapi-sche
|
||||||
DIRS="$DIRS docs docs/interop fsdev scsi"
|
DIRS="$DIRS docs docs/interop fsdev scsi"
|
||||||
DIRS="$DIRS pc-bios/optionrom pc-bios/spapr-rtas pc-bios/s390-ccw"
|
DIRS="$DIRS pc-bios/optionrom pc-bios/spapr-rtas pc-bios/s390-ccw"
|
||||||
DIRS="$DIRS roms/seabios roms/vgabios"
|
DIRS="$DIRS roms/seabios roms/vgabios"
|
||||||
DIRS="$DIRS qapi-generated"
|
|
||||||
FILES="Makefile tests/tcg/Makefile qdict-test-data.txt"
|
FILES="Makefile tests/tcg/Makefile qdict-test-data.txt"
|
||||||
FILES="$FILES tests/tcg/cris/Makefile tests/tcg/cris/.gdbinit"
|
FILES="$FILES tests/tcg/cris/Makefile tests/tcg/cris/.gdbinit"
|
||||||
FILES="$FILES tests/tcg/lm32/Makefile tests/tcg/xtensa/Makefile po/Makefile"
|
FILES="$FILES tests/tcg/lm32/Makefile tests/tcg/xtensa/Makefile po/Makefile"
|
||||||
|
|
4
cpus.c
4
cpus.c
|
@ -27,6 +27,8 @@
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "monitor/monitor.h"
|
#include "monitor/monitor.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
|
#include "qapi/qapi-commands-misc.h"
|
||||||
|
#include "qapi/qapi-events-run-state.h"
|
||||||
#include "qapi/qmp/qerror.h"
|
#include "qapi/qmp/qerror.h"
|
||||||
#include "qemu/error-report.h"
|
#include "qemu/error-report.h"
|
||||||
#include "sysemu/sysemu.h"
|
#include "sysemu/sysemu.h"
|
||||||
|
@ -38,7 +40,6 @@
|
||||||
#include "sysemu/hax.h"
|
#include "sysemu/hax.h"
|
||||||
#include "sysemu/hvf.h"
|
#include "sysemu/hvf.h"
|
||||||
#include "sysemu/whpx.h"
|
#include "sysemu/whpx.h"
|
||||||
#include "qmp-commands.h"
|
|
||||||
#include "exec/exec-all.h"
|
#include "exec/exec-all.h"
|
||||||
|
|
||||||
#include "qemu/thread.h"
|
#include "qemu/thread.h"
|
||||||
|
@ -49,7 +50,6 @@
|
||||||
#include "qemu/bitmap.h"
|
#include "qemu/bitmap.h"
|
||||||
#include "qemu/seqlock.h"
|
#include "qemu/seqlock.h"
|
||||||
#include "tcg.h"
|
#include "tcg.h"
|
||||||
#include "qapi-event.h"
|
|
||||||
#include "hw/nmi.h"
|
#include "hw/nmi.h"
|
||||||
#include "sysemu/replay.h"
|
#include "sysemu/replay.h"
|
||||||
#include "hw/boards.h"
|
#include "hw/boards.h"
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
#ifndef QCRYPTO_CIPHERPRIV_H
|
#ifndef QCRYPTO_CIPHERPRIV_H
|
||||||
#define QCRYPTO_CIPHERPRIV_H
|
#define QCRYPTO_CIPHERPRIV_H
|
||||||
|
|
||||||
#include "qapi-types.h"
|
#include "qapi/qapi-types-crypto.h"
|
||||||
|
|
||||||
typedef struct QCryptoCipherDriver QCryptoCipherDriver;
|
typedef struct QCryptoCipherDriver QCryptoCipherDriver;
|
||||||
|
|
||||||
|
|
|
@ -647,7 +647,7 @@ name an event 'MAX', since the generator also produces a C enumeration
|
||||||
of all event names with a generated _MAX value at the end. When
|
of all event names with a generated _MAX value at the end. When
|
||||||
'data' is also specified, additional info will be included in the
|
'data' is also specified, additional info will be included in the
|
||||||
event, with similar semantics to a 'struct' expression. Finally there
|
event, with similar semantics to a 'struct' expression. Finally there
|
||||||
will be C API generated in qapi-event.h; when called by QEMU code, a
|
will be C API generated in qapi-events.h; when called by QEMU code, a
|
||||||
message with timestamp will be emitted on the wire.
|
message with timestamp will be emitted on the wire.
|
||||||
|
|
||||||
An example event is:
|
An example event is:
|
||||||
|
@ -899,12 +899,13 @@ the names of built-in types. Clients should examine member
|
||||||
|
|
||||||
== Code generation ==
|
== Code generation ==
|
||||||
|
|
||||||
Schemas are fed into five scripts to generate all the code/files that,
|
The QAPI code generator qapi-gen.py generates code and documentation
|
||||||
paired with the core QAPI libraries, comprise everything required to
|
from the schema. Together with the core QAPI libraries, this code
|
||||||
take JSON commands read in by a Client JSON Protocol server, unmarshal
|
provides everything required to take JSON commands read in by a Client
|
||||||
the arguments into the underlying C types, call into the corresponding
|
JSON Protocol server, unmarshal the arguments into the underlying C
|
||||||
C function, map the response back to a Client JSON Protocol response
|
types, call into the corresponding C function, map the response back
|
||||||
to be returned to the user, and introspect the commands.
|
to a Client JSON Protocol response to be returned to the user, and
|
||||||
|
introspect the commands.
|
||||||
|
|
||||||
As an example, we'll use the following schema, which describes a
|
As an example, we'll use the following schema, which describes a
|
||||||
single complex user-defined type, along with command which takes a
|
single complex user-defined type, along with command which takes a
|
||||||
|
@ -922,18 +923,23 @@ qmp_my_command(); everything else is produced by the generator.
|
||||||
|
|
||||||
{ 'event': 'MY_EVENT' }
|
{ 'event': 'MY_EVENT' }
|
||||||
|
|
||||||
|
We run qapi-gen.py like this:
|
||||||
|
|
||||||
|
$ python scripts/qapi-gen.py --output-dir="qapi-generated" \
|
||||||
|
--prefix="example-" example-schema.json
|
||||||
|
|
||||||
For a more thorough look at generated code, the testsuite includes
|
For a more thorough look at generated code, the testsuite includes
|
||||||
tests/qapi-schema/qapi-schema-tests.json that covers more examples of
|
tests/qapi-schema/qapi-schema-tests.json that covers more examples of
|
||||||
what the generator will accept, and compiles the resulting C code as
|
what the generator will accept, and compiles the resulting C code as
|
||||||
part of 'make check-unit'.
|
part of 'make check-unit'.
|
||||||
|
|
||||||
=== scripts/qapi-types.py ===
|
=== Code generated for QAPI types ===
|
||||||
|
|
||||||
Used to generate the C types defined by a schema, along with
|
The following files are created:
|
||||||
supporting code. The following files are created:
|
|
||||||
|
|
||||||
$(prefix)qapi-types.h - C types corresponding to types defined in
|
$(prefix)qapi-types.h - C types corresponding to types defined in
|
||||||
the schema you pass in
|
the schema
|
||||||
|
|
||||||
$(prefix)qapi-types.c - Cleanup functions for the above C types
|
$(prefix)qapi-types.c - Cleanup functions for the above C types
|
||||||
|
|
||||||
The $(prefix) is an optional parameter used as a namespace to keep the
|
The $(prefix) is an optional parameter used as a namespace to keep the
|
||||||
|
@ -943,8 +949,6 @@ created code.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
$ python scripts/qapi-types.py --output-dir="qapi-generated" \
|
|
||||||
--prefix="example-" example-schema.json
|
|
||||||
$ cat qapi-generated/example-qapi-types.h
|
$ cat qapi-generated/example-qapi-types.h
|
||||||
[Uninteresting stuff omitted...]
|
[Uninteresting stuff omitted...]
|
||||||
|
|
||||||
|
@ -1008,28 +1012,26 @@ Example:
|
||||||
visit_free(v);
|
visit_free(v);
|
||||||
}
|
}
|
||||||
|
|
||||||
=== scripts/qapi-visit.py ===
|
=== Code generated for visiting QAPI types ===
|
||||||
|
|
||||||
Used to generate the visitor functions used to walk through and
|
These are the visitor functions used to walk through and convert
|
||||||
convert between a native QAPI C data structure and some other format
|
between a native QAPI C data structure and some other format (such as
|
||||||
(such as QObject); the generated functions are named visit_type_FOO()
|
QObject); the generated functions are named visit_type_FOO() and
|
||||||
and visit_type_FOO_members().
|
visit_type_FOO_members().
|
||||||
|
|
||||||
The following files are generated:
|
The following files are generated:
|
||||||
|
|
||||||
$(prefix)qapi-visit.c: visitor function for a particular C type, used
|
$(prefix)qapi-visit.c: Visitor function for a particular C type, used
|
||||||
to automagically convert QObjects into the
|
to automagically convert QObjects into the
|
||||||
corresponding C type and vice-versa, as well
|
corresponding C type and vice-versa, as well
|
||||||
as for deallocating memory for an existing C
|
as for deallocating memory for an existing C
|
||||||
type
|
type
|
||||||
|
|
||||||
$(prefix)qapi-visit.h: declarations for previously mentioned visitor
|
$(prefix)qapi-visit.h: Declarations for previously mentioned visitor
|
||||||
functions
|
functions
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
$ python scripts/qapi-visit.py --output-dir="qapi-generated"
|
|
||||||
--prefix="example-" example-schema.json
|
|
||||||
$ cat qapi-generated/example-qapi-visit.h
|
$ cat qapi-generated/example-qapi-visit.h
|
||||||
[Uninteresting stuff omitted...]
|
[Uninteresting stuff omitted...]
|
||||||
|
|
||||||
|
@ -1137,31 +1139,23 @@ Example:
|
||||||
error_propagate(errp, err);
|
error_propagate(errp, err);
|
||||||
}
|
}
|
||||||
|
|
||||||
=== scripts/qapi-commands.py ===
|
=== Code generated for commands ===
|
||||||
|
|
||||||
Used to generate the marshaling/dispatch functions for the commands
|
These are the marshaling/dispatch functions for the commands defined
|
||||||
defined in the schema. The generated code implements
|
in the schema. The generated code provides qmp_marshal_COMMAND(), and
|
||||||
qmp_marshal_COMMAND() (registered automatically), and declares
|
declares qmp_COMMAND() that the user must implement.
|
||||||
qmp_COMMAND() that the user must implement. The following files are
|
|
||||||
generated:
|
|
||||||
|
|
||||||
$(prefix)qmp-marshal.c: command marshal/dispatch functions for each
|
The following files are generated:
|
||||||
QMP command defined in the schema. Functions
|
|
||||||
generated by qapi-visit.py are used to
|
|
||||||
convert QObjects received from the wire into
|
|
||||||
function parameters, and uses the same
|
|
||||||
visitor functions to convert native C return
|
|
||||||
values to QObjects from transmission back
|
|
||||||
over the wire.
|
|
||||||
|
|
||||||
$(prefix)qmp-commands.h: Function prototypes for the QMP commands
|
$(prefix)qapi-commands.c: Command marshal/dispatch functions for each
|
||||||
specified in the schema.
|
QMP command defined in the schema
|
||||||
|
|
||||||
|
$(prefix)qapi-commands.h: Function prototypes for the QMP commands
|
||||||
|
specified in the schema
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
$ python scripts/qapi-commands.py --output-dir="qapi-generated"
|
$ cat qapi-generated/example-qapi-commands.h
|
||||||
--prefix="example-" example-schema.json
|
|
||||||
$ cat qapi-generated/example-qmp-commands.h
|
|
||||||
[Uninteresting stuff omitted...]
|
[Uninteresting stuff omitted...]
|
||||||
|
|
||||||
#ifndef EXAMPLE_QMP_COMMANDS_H
|
#ifndef EXAMPLE_QMP_COMMANDS_H
|
||||||
|
@ -1176,7 +1170,7 @@ Example:
|
||||||
void qmp_marshal_my_command(QDict *args, QObject **ret, Error **errp);
|
void qmp_marshal_my_command(QDict *args, QObject **ret, Error **errp);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
$ cat qapi-generated/example-qmp-marshal.c
|
$ cat qapi-generated/example-qapi-commands.c
|
||||||
[Uninteresting stuff omitted...]
|
[Uninteresting stuff omitted...]
|
||||||
|
|
||||||
static void qmp_marshal_output_UserDefOne(UserDefOne *ret_in, QObject **ret_out, Error **errp)
|
static void qmp_marshal_output_UserDefOne(UserDefOne *ret_in, QObject **ret_out, Error **errp)
|
||||||
|
@ -1242,21 +1236,21 @@ Example:
|
||||||
qmp_marshal_my_command, QCO_NO_OPTIONS);
|
qmp_marshal_my_command, QCO_NO_OPTIONS);
|
||||||
}
|
}
|
||||||
|
|
||||||
=== scripts/qapi-event.py ===
|
=== Code generated for events ===
|
||||||
|
|
||||||
Used to generate the event-related C code defined by a schema, with
|
This is the code related to events defined in the schema, providing
|
||||||
implementations for qapi_event_send_FOO(). The following files are
|
qapi_event_send_EVENT().
|
||||||
created:
|
|
||||||
|
|
||||||
$(prefix)qapi-event.h - Function prototypes for each event type, plus an
|
The following files are created:
|
||||||
|
|
||||||
|
$(prefix)qapi-events.h - Function prototypes for each event type, plus an
|
||||||
enumeration of all event names
|
enumeration of all event names
|
||||||
$(prefix)qapi-event.c - Implementation of functions to send an event
|
|
||||||
|
$(prefix)qapi-events.c - Implementation of functions to send an event
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
$ python scripts/qapi-event.py --output-dir="qapi-generated"
|
$ cat qapi-generated/example-qapi-events.h
|
||||||
--prefix="example-" example-schema.json
|
|
||||||
$ cat qapi-generated/example-qapi-event.h
|
|
||||||
[Uninteresting stuff omitted...]
|
[Uninteresting stuff omitted...]
|
||||||
|
|
||||||
#ifndef EXAMPLE_QAPI_EVENT_H
|
#ifndef EXAMPLE_QAPI_EVENT_H
|
||||||
|
@ -1279,7 +1273,7 @@ Example:
|
||||||
extern const char *const example_QAPIEvent_lookup[];
|
extern const char *const example_QAPIEvent_lookup[];
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
$ cat qapi-generated/example-qapi-event.c
|
$ cat qapi-generated/example-qapi-events.c
|
||||||
[Uninteresting stuff omitted...]
|
[Uninteresting stuff omitted...]
|
||||||
|
|
||||||
void qapi_event_send_my_event(Error **errp)
|
void qapi_event_send_my_event(Error **errp)
|
||||||
|
@ -1301,25 +1295,25 @@ Example:
|
||||||
QDECREF(qmp);
|
QDECREF(qmp);
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *const example_QAPIEvent_lookup[] = {
|
const QEnumLookup example_QAPIEvent_lookup = {
|
||||||
[EXAMPLE_QAPI_EVENT_MY_EVENT] = "MY_EVENT",
|
.array = (const char *const[]) {
|
||||||
[EXAMPLE_QAPI_EVENT__MAX] = NULL,
|
[EXAMPLE_QAPI_EVENT_MY_EVENT] = "MY_EVENT",
|
||||||
|
},
|
||||||
|
.size = EXAMPLE_QAPI_EVENT__MAX
|
||||||
};
|
};
|
||||||
|
|
||||||
=== scripts/qapi-introspect.py ===
|
=== Code generated for introspection ===
|
||||||
|
|
||||||
Used to generate the introspection C code for a schema. The following
|
The following files are created:
|
||||||
files are created:
|
|
||||||
|
|
||||||
$(prefix)qmp-introspect.c - Defines a string holding a JSON
|
$(prefix)qapi-introspect.c - Defines a string holding a JSON
|
||||||
description of the schema.
|
description of the schema
|
||||||
$(prefix)qmp-introspect.h - Declares the above string.
|
|
||||||
|
$(prefix)qapi-introspect.h - Declares the above string
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
$ python scripts/qapi-introspect.py --output-dir="qapi-generated"
|
$ cat qapi-generated/example-qapi-introspect.h
|
||||||
--prefix="example-" example-schema.json
|
|
||||||
$ cat qapi-generated/example-qmp-introspect.h
|
|
||||||
[Uninteresting stuff omitted...]
|
[Uninteresting stuff omitted...]
|
||||||
|
|
||||||
#ifndef EXAMPLE_QMP_INTROSPECT_H
|
#ifndef EXAMPLE_QMP_INTROSPECT_H
|
||||||
|
@ -1328,7 +1322,7 @@ Example:
|
||||||
extern const char example_qmp_schema_json[];
|
extern const char example_qmp_schema_json[];
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
$ cat qapi-generated/example-qmp-introspect.c
|
$ cat qapi-generated/example-qapi-introspect.c
|
||||||
[Uninteresting stuff omitted...]
|
[Uninteresting stuff omitted...]
|
||||||
|
|
||||||
const char example_qmp_schema_json[] = "["
|
const char example_qmp_schema_json[] = "["
|
||||||
|
|
|
@ -15,8 +15,8 @@ start with docs/interop/qmp-intro.txt.
|
||||||
Generally speaking, the following steps should be taken in order to write a
|
Generally speaking, the following steps should be taken in order to write a
|
||||||
new QMP command.
|
new QMP command.
|
||||||
|
|
||||||
1. Write the command's and type(s) specification in the QAPI schema file
|
1. Define the command and any types it needs in the appropriate QAPI
|
||||||
(qapi-schema.json in the root source directory)
|
schema module.
|
||||||
|
|
||||||
2. Write the QMP command itself, which is a regular C function. Preferably,
|
2. Write the QMP command itself, which is a regular C function. Preferably,
|
||||||
the command should be exported by some QEMU subsystem. But it can also be
|
the command should be exported by some QEMU subsystem. But it can also be
|
||||||
|
@ -36,9 +36,9 @@ very simple and get more complex as we progress.
|
||||||
For all the examples in the next sections, the test setup is the same and is
|
For all the examples in the next sections, the test setup is the same and is
|
||||||
shown here.
|
shown here.
|
||||||
|
|
||||||
First, QEMU should be started as:
|
First, QEMU should be started like this:
|
||||||
|
|
||||||
# /path/to/your/source/qemu [...] \
|
# qemu-system-TARGET [...] \
|
||||||
-chardev socket,id=qmp,port=4444,host=localhost,server \
|
-chardev socket,id=qmp,port=4444,host=localhost,server \
|
||||||
-mon chardev=qmp,mode=control,pretty=on
|
-mon chardev=qmp,mode=control,pretty=on
|
||||||
|
|
||||||
|
@ -88,8 +88,9 @@ command carries some meaningful action in QEMU but here it will just print
|
||||||
Our command will be called "hello-world". It takes no arguments, nor does it
|
Our command will be called "hello-world". It takes no arguments, nor does it
|
||||||
return any data.
|
return any data.
|
||||||
|
|
||||||
The first step is to add the following line to the bottom of the
|
The first step is defining the command in the appropriate QAPI schema
|
||||||
qapi-schema.json file:
|
module. We pick module qapi/misc.json, and add the following line at
|
||||||
|
the bottom:
|
||||||
|
|
||||||
{ 'command': 'hello-world' }
|
{ 'command': 'hello-world' }
|
||||||
|
|
||||||
|
@ -178,7 +179,7 @@ described in the "Testing" section and then send two commands:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
You should see "Hello, world" and "we love qemu" in the terminal running qemu,
|
You should see "Hello, world" and "We love qemu" in the terminal running qemu,
|
||||||
if you don't see these strings, then something went wrong.
|
if you don't see these strings, then something went wrong.
|
||||||
|
|
||||||
=== Errors ===
|
=== Errors ===
|
||||||
|
@ -220,32 +221,25 @@ The QMP server's response should be:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
As a general rule, all QMP errors should use ERROR_CLASS_GENERIC_ERROR
|
Note that error_setg() produces a "GenericError" class. In general,
|
||||||
(done by default when using error_setg()). There are two exceptions to
|
all QMP errors should have that error class. There are two exceptions
|
||||||
this rule:
|
to this rule:
|
||||||
|
|
||||||
1. A non-generic ErrorClass value exists* for the failure you want to report
|
1. To support a management application's need to recognize a specific
|
||||||
(eg. DeviceNotFound)
|
error for special handling
|
||||||
|
|
||||||
2. Management applications have to take special action on the failure you
|
2. Backward compatibility
|
||||||
want to report, hence you have to add a new ErrorClass value so that they
|
|
||||||
can check for it
|
|
||||||
|
|
||||||
If the failure you want to report falls into one of the two cases above,
|
If the failure you want to report falls into one of the two cases above,
|
||||||
use error_set() with a second argument of an ErrorClass value.
|
use error_set() with a second argument of an ErrorClass value.
|
||||||
|
|
||||||
* All existing ErrorClass values are defined in the qapi-schema.json file
|
|
||||||
|
|
||||||
=== Command Documentation ===
|
=== Command Documentation ===
|
||||||
|
|
||||||
There's only one step missing to make "hello-world"'s implementation complete,
|
There's only one step missing to make "hello-world"'s implementation complete,
|
||||||
and that's its documentation in the schema file.
|
and that's its documentation in the schema file.
|
||||||
|
|
||||||
This is very important. No QMP command will be accepted in QEMU without proper
|
|
||||||
documentation.
|
|
||||||
|
|
||||||
There are many examples of such documentation in the schema file already, but
|
There are many examples of such documentation in the schema file already, but
|
||||||
here goes "hello-world"'s new entry for the qapi-schema.json file:
|
here goes "hello-world"'s new entry for qapi/misc.json:
|
||||||
|
|
||||||
##
|
##
|
||||||
# @hello-world
|
# @hello-world
|
||||||
|
@ -425,8 +419,7 @@ There are a number of things to be noticed:
|
||||||
allocated by the implementation. This is so because the QAPI also generates
|
allocated by the implementation. This is so because the QAPI also generates
|
||||||
a function to free its types and it cannot distinguish between dynamically
|
a function to free its types and it cannot distinguish between dynamically
|
||||||
or statically allocated strings
|
or statically allocated strings
|
||||||
6. You have to include the "qmp-commands.h" header file in qemu-timer.c,
|
6. You have to include "qapi/qapi-commands-misc.h" in qemu-timer.c
|
||||||
otherwise qemu won't build
|
|
||||||
|
|
||||||
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:
|
||||||
|
|
|
@ -78,7 +78,8 @@ Escape character is '^]'.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Please, refer to the qapi-schema.json file for a complete command reference.
|
Please refer to docs/interop/qemu-qmp-ref.* for a complete command
|
||||||
|
reference, generated from qapi/qapi-schema.json.
|
||||||
|
|
||||||
QMP wiki page
|
QMP wiki page
|
||||||
-------------
|
-------------
|
||||||
|
|
|
@ -8,8 +8,7 @@ These operations are normally used with migration (see migration.txt),
|
||||||
however it is also possible to save the state of all devices to file,
|
however it is also possible to save the state of all devices to file,
|
||||||
without saving the RAM or the block devices of the VM.
|
without saving the RAM or the block devices of the VM.
|
||||||
|
|
||||||
This operation is called "xen-save-devices-state" (see
|
The save operation is available as QMP command xen-save-devices-state.
|
||||||
qmp-commands.txt)
|
|
||||||
|
|
||||||
|
|
||||||
The binary format used in the file is the following:
|
The binary format used in the file is the following:
|
||||||
|
|
4
dump.c
4
dump.c
|
@ -23,9 +23,9 @@
|
||||||
#include "sysemu/memory_mapping.h"
|
#include "sysemu/memory_mapping.h"
|
||||||
#include "sysemu/cpus.h"
|
#include "sysemu/cpus.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
|
#include "qapi/qapi-commands-misc.h"
|
||||||
|
#include "qapi/qapi-events-misc.h"
|
||||||
#include "qapi/qmp/qerror.h"
|
#include "qapi/qmp/qerror.h"
|
||||||
#include "qmp-commands.h"
|
|
||||||
#include "qapi-event.h"
|
|
||||||
#include "qemu/error-report.h"
|
#include "qemu/error-report.h"
|
||||||
#include "hw/misc/vmcoreinfo.h"
|
#include "hw/misc/vmcoreinfo.h"
|
||||||
|
|
||||||
|
|
12
hmp.c
12
hmp.c
|
@ -23,17 +23,25 @@
|
||||||
#include "qemu/config-file.h"
|
#include "qemu/config-file.h"
|
||||||
#include "qemu/option.h"
|
#include "qemu/option.h"
|
||||||
#include "qemu/timer.h"
|
#include "qemu/timer.h"
|
||||||
#include "qmp-commands.h"
|
|
||||||
#include "qemu/sockets.h"
|
#include "qemu/sockets.h"
|
||||||
#include "monitor/monitor.h"
|
#include "monitor/monitor.h"
|
||||||
#include "monitor/qdev.h"
|
#include "monitor/qdev.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
#include "qapi/opts-visitor.h"
|
#include "qapi/opts-visitor.h"
|
||||||
|
#include "qapi/qapi-builtin-visit.h"
|
||||||
|
#include "qapi/qapi-commands-block.h"
|
||||||
|
#include "qapi/qapi-commands-char.h"
|
||||||
|
#include "qapi/qapi-commands-migration.h"
|
||||||
|
#include "qapi/qapi-commands-misc.h"
|
||||||
|
#include "qapi/qapi-commands-net.h"
|
||||||
|
#include "qapi/qapi-commands-rocker.h"
|
||||||
|
#include "qapi/qapi-commands-run-state.h"
|
||||||
|
#include "qapi/qapi-commands-tpm.h"
|
||||||
|
#include "qapi/qapi-commands-ui.h"
|
||||||
#include "qapi/qmp/qdict.h"
|
#include "qapi/qmp/qdict.h"
|
||||||
#include "qapi/qmp/qerror.h"
|
#include "qapi/qmp/qerror.h"
|
||||||
#include "qapi/string-input-visitor.h"
|
#include "qapi/string-input-visitor.h"
|
||||||
#include "qapi/string-output-visitor.h"
|
#include "qapi/string-output-visitor.h"
|
||||||
#include "qapi-visit.h"
|
|
||||||
#include "qom/object_interfaces.h"
|
#include "qom/object_interfaces.h"
|
||||||
#include "ui/console.h"
|
#include "ui/console.h"
|
||||||
#include "block/nbd.h"
|
#include "block/nbd.h"
|
||||||
|
|
|
@ -27,8 +27,8 @@
|
||||||
#include "qemu/config-file.h"
|
#include "qemu/config-file.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
#include "qapi/opts-visitor.h"
|
#include "qapi/opts-visitor.h"
|
||||||
#include "qapi-visit.h"
|
#include "qapi/qapi-events-run-state.h"
|
||||||
#include "qapi-event.h"
|
#include "qapi/qapi-visit-misc.h"
|
||||||
#include "qemu/error-report.h"
|
#include "qemu/error-report.h"
|
||||||
#include "qemu/option.h"
|
#include "qemu/option.h"
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
#include "hw/boards.h"
|
#include "hw/boards.h"
|
||||||
#include "hw/acpi/cpu.h"
|
#include "hw/acpi/cpu.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
#include "qapi-event.h"
|
#include "qapi/qapi-events-misc.h"
|
||||||
#include "trace.h"
|
#include "trace.h"
|
||||||
#include "sysemu/numa.h"
|
#include "sysemu/numa.h"
|
||||||
|
|
||||||
|
|
|
@ -5,8 +5,8 @@
|
||||||
#include "hw/boards.h"
|
#include "hw/boards.h"
|
||||||
#include "hw/qdev-core.h"
|
#include "hw/qdev-core.h"
|
||||||
#include "trace.h"
|
#include "trace.h"
|
||||||
#include "qapi-event.h"
|
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
|
#include "qapi/qapi-events-misc.h"
|
||||||
|
|
||||||
#define MEMORY_SLOTS_NUMBER "MDNR"
|
#define MEMORY_SLOTS_NUMBER "MDNR"
|
||||||
#define MEMORY_HOTPLUG_IO_REGION "HPMR"
|
#define MEMORY_HOTPLUG_IO_REGION "HPMR"
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
|
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
#include "qmp-commands.h"
|
#include "qapi/qapi-commands-misc.h"
|
||||||
#include "hw/acpi/acpi.h"
|
#include "hw/acpi/acpi.h"
|
||||||
#include "hw/acpi/aml-build.h"
|
#include "hw/acpi/aml-build.h"
|
||||||
#include "hw/acpi/vmgenid.h"
|
#include "hw/acpi/vmgenid.h"
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
#include "sysemu/block-backend.h"
|
#include "sysemu/block-backend.h"
|
||||||
#include "hw/block/block.h"
|
#include "hw/block/block.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
|
#include "qapi/qapi-types-block.h"
|
||||||
#include "qemu/error-report.h"
|
#include "qemu/error-report.h"
|
||||||
|
|
||||||
void blkconf_serial(BlockConf *conf, char **serial)
|
void blkconf_serial(BlockConf *conf, char **serial)
|
||||||
|
|
|
@ -32,6 +32,7 @@
|
||||||
|
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "sysemu/block-backend.h"
|
#include "sysemu/block-backend.h"
|
||||||
|
#include "qapi/qapi-types-block.h"
|
||||||
#include "qemu/bswap.h"
|
#include "qemu/bswap.h"
|
||||||
#include "hw/block/block.h"
|
#include "hw/block/block.h"
|
||||||
#include "trace.h"
|
#include "trace.h"
|
||||||
|
|
|
@ -15,8 +15,8 @@
|
||||||
#include "qemu/error-report.h"
|
#include "qemu/error-report.h"
|
||||||
#include "trace.h"
|
#include "trace.h"
|
||||||
#include "hw/virtio/virtio-serial.h"
|
#include "hw/virtio/virtio-serial.h"
|
||||||
#include "qapi-event.h"
|
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
|
#include "qapi/qapi-events-char.h"
|
||||||
|
|
||||||
#define TYPE_VIRTIO_CONSOLE_SERIAL_PORT "virtserialport"
|
#define TYPE_VIRTIO_CONSOLE_SERIAL_PORT "virtserialport"
|
||||||
#define VIRTIO_CONSOLE(obj) \
|
#define VIRTIO_CONSOLE(obj) \
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "hw/boards.h"
|
#include "hw/boards.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
#include "qapi-visit.h"
|
#include "qapi/qapi-visit-common.h"
|
||||||
#include "qapi/visitor.h"
|
#include "qapi/visitor.h"
|
||||||
#include "hw/sysbus.h"
|
#include "hw/sysbus.h"
|
||||||
#include "sysemu/sysemu.h"
|
#include "sysemu/sysemu.h"
|
||||||
|
|
|
@ -29,6 +29,7 @@
|
||||||
#include "hw/qdev.h"
|
#include "hw/qdev.h"
|
||||||
#include "sysemu/sysemu.h"
|
#include "sysemu/sysemu.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
|
#include "qapi/qapi-events-misc.h"
|
||||||
#include "qapi/qmp/qerror.h"
|
#include "qapi/qmp/qerror.h"
|
||||||
#include "qapi/visitor.h"
|
#include "qapi/visitor.h"
|
||||||
#include "qemu/error-report.h"
|
#include "qemu/error-report.h"
|
||||||
|
@ -36,7 +37,6 @@
|
||||||
#include "hw/hotplug.h"
|
#include "hw/hotplug.h"
|
||||||
#include "hw/boards.h"
|
#include "hw/boards.h"
|
||||||
#include "hw/sysbus.h"
|
#include "hw/sysbus.h"
|
||||||
#include "qapi-event.h"
|
|
||||||
|
|
||||||
bool qdev_hotplug = false;
|
bool qdev_hotplug = false;
|
||||||
static bool qdev_hot_added = false;
|
static bool qdev_hot_added = false;
|
||||||
|
|
|
@ -67,8 +67,8 @@
|
||||||
#include "acpi-build.h"
|
#include "acpi-build.h"
|
||||||
#include "hw/mem/pc-dimm.h"
|
#include "hw/mem/pc-dimm.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
|
#include "qapi/qapi-visit-common.h"
|
||||||
#include "qapi/visitor.h"
|
#include "qapi/visitor.h"
|
||||||
#include "qapi-visit.h"
|
|
||||||
#include "qom/cpu.h"
|
#include "qom/cpu.h"
|
||||||
#include "hw/nmi.h"
|
#include "hw/nmi.h"
|
||||||
#include "hw/i386/intel_iommu.h"
|
#include "hw/i386/intel_iommu.h"
|
||||||
|
|
|
@ -16,8 +16,8 @@
|
||||||
#include "hw/i386/apic-msidef.h"
|
#include "hw/i386/apic-msidef.h"
|
||||||
#include "hw/xen/xen_common.h"
|
#include "hw/xen/xen_common.h"
|
||||||
#include "hw/xen/xen_backend.h"
|
#include "hw/xen/xen_backend.h"
|
||||||
#include "qmp-commands.h"
|
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
|
#include "qapi/qapi-commands-misc.h"
|
||||||
#include "qemu/error-report.h"
|
#include "qemu/error-report.h"
|
||||||
#include "qemu/range.h"
|
#include "qemu/range.h"
|
||||||
#include "sysemu/xen-mapcache.h"
|
#include "sysemu/xen-mapcache.h"
|
||||||
|
|
|
@ -26,9 +26,9 @@
|
||||||
#include "hw/hw.h"
|
#include "hw/hw.h"
|
||||||
#include "hw/ipmi/ipmi.h"
|
#include "hw/ipmi/ipmi.h"
|
||||||
#include "sysemu/sysemu.h"
|
#include "sysemu/sysemu.h"
|
||||||
#include "qmp-commands.h"
|
|
||||||
#include "qom/object_interfaces.h"
|
#include "qom/object_interfaces.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
|
#include "qapi/qapi-commands-misc.h"
|
||||||
#include "qapi/visitor.h"
|
#include "qapi/visitor.h"
|
||||||
|
|
||||||
static uint32_t ipmi_current_uuid = 1;
|
static uint32_t ipmi_current_uuid = 1;
|
||||||
|
|
|
@ -25,7 +25,6 @@
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
#include "qapi/visitor.h"
|
#include "qapi/visitor.h"
|
||||||
#include "qapi-visit.h"
|
|
||||||
#include "hw/mem/nvdimm.h"
|
#include "hw/mem/nvdimm.h"
|
||||||
|
|
||||||
static void nvdimm_get_label_size(Object *obj, Visitor *v, const char *name,
|
static void nvdimm_get_label_size(Object *obj, Visitor *v, const char *name,
|
||||||
|
|
|
@ -17,8 +17,8 @@
|
||||||
|
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "qemu-common.h"
|
#include "qemu-common.h"
|
||||||
#include "qmp-commands.h"
|
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
|
#include "qapi/qapi-commands-rocker.h"
|
||||||
#include "qapi/qmp/qerror.h"
|
#include "qapi/qmp/qerror.h"
|
||||||
|
|
||||||
RockerSwitch *qmp_query_rocker(const char *name, Error **errp)
|
RockerSwitch *qmp_query_rocker(const char *name, Error **errp)
|
||||||
|
|
|
@ -22,9 +22,9 @@
|
||||||
#include "net/net.h"
|
#include "net/net.h"
|
||||||
#include "net/eth.h"
|
#include "net/eth.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
|
#include "qapi/qapi-commands-rocker.h"
|
||||||
#include "qemu/iov.h"
|
#include "qemu/iov.h"
|
||||||
#include "qemu/bitops.h"
|
#include "qemu/bitops.h"
|
||||||
#include "qmp-commands.h"
|
|
||||||
|
|
||||||
#include "rocker.h"
|
#include "rocker.h"
|
||||||
#include "rocker_hw.h"
|
#include "rocker_hw.h"
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
|
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "net/clients.h"
|
#include "net/clients.h"
|
||||||
|
#include "qapi/qapi-types-rocker.h"
|
||||||
#include "rocker.h"
|
#include "rocker.h"
|
||||||
#include "rocker_hw.h"
|
#include "rocker_hw.h"
|
||||||
#include "rocker_fp.h"
|
#include "rocker_fp.h"
|
||||||
|
|
|
@ -17,9 +17,9 @@
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "net/eth.h"
|
#include "net/eth.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
|
#include "qapi/qapi-commands-rocker.h"
|
||||||
#include "qemu/iov.h"
|
#include "qemu/iov.h"
|
||||||
#include "qemu/timer.h"
|
#include "qemu/timer.h"
|
||||||
#include "qmp-commands.h"
|
|
||||||
|
|
||||||
#include "rocker.h"
|
#include "rocker.h"
|
||||||
#include "rocker_hw.h"
|
#include "rocker_hw.h"
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
#include "net/vhost_net.h"
|
#include "net/vhost_net.h"
|
||||||
#include "hw/virtio/virtio-bus.h"
|
#include "hw/virtio/virtio-bus.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
#include "qapi-event.h"
|
#include "qapi/qapi-events-net.h"
|
||||||
#include "hw/virtio/virtio-access.h"
|
#include "hw/virtio/virtio-access.h"
|
||||||
#include "migration/misc.h"
|
#include "migration/misc.h"
|
||||||
|
|
||||||
|
|
|
@ -22,9 +22,9 @@
|
||||||
#include "sysemu/sysemu.h"
|
#include "sysemu/sysemu.h"
|
||||||
#include "monitor/monitor.h"
|
#include "monitor/monitor.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
|
#include "qapi/qapi-commands-misc.h"
|
||||||
#include "qapi/qmp/qerror.h"
|
#include "qapi/qmp/qerror.h"
|
||||||
#include "hw/pci/pci.h"
|
#include "hw/pci/pci.h"
|
||||||
#include "qmp-commands.h"
|
|
||||||
#include "hw/pci/msi.h"
|
#include "hw/pci/msi.h"
|
||||||
|
|
||||||
bool msi_nonbroken;
|
bool msi_nonbroken;
|
||||||
|
|
|
@ -34,7 +34,6 @@
|
||||||
#include "hw/loader.h"
|
#include "hw/loader.h"
|
||||||
#include "qemu/error-report.h"
|
#include "qemu/error-report.h"
|
||||||
#include "qemu/range.h"
|
#include "qemu/range.h"
|
||||||
#include "qmp-commands.h"
|
|
||||||
#include "trace.h"
|
#include "trace.h"
|
||||||
#include "hw/pci/msi.h"
|
#include "hw/pci/msi.h"
|
||||||
#include "hw/pci/msix.h"
|
#include "hw/pci/msix.h"
|
||||||
|
@ -42,6 +41,7 @@
|
||||||
#include "hw/hotplug.h"
|
#include "hw/hotplug.h"
|
||||||
#include "hw/boards.h"
|
#include "hw/boards.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
|
#include "qapi/qapi-commands-misc.h"
|
||||||
#include "qemu/cutils.h"
|
#include "qemu/cutils.h"
|
||||||
|
|
||||||
//#define DEBUG_PCI
|
//#define DEBUG_PCI
|
||||||
|
|
|
@ -38,7 +38,6 @@
|
||||||
#include "hw/ppc/spapr_vio.h"
|
#include "hw/ppc/spapr_vio.h"
|
||||||
#include "hw/ppc/spapr_rtas.h"
|
#include "hw/ppc/spapr_rtas.h"
|
||||||
#include "hw/ppc/ppc.h"
|
#include "hw/ppc/ppc.h"
|
||||||
#include "qapi-event.h"
|
|
||||||
#include "hw/boards.h"
|
#include "hw/boards.h"
|
||||||
|
|
||||||
#include <libfdt.h>
|
#include <libfdt.h>
|
||||||
|
|
|
@ -30,8 +30,8 @@
|
||||||
#include "qemu/timer.h"
|
#include "qemu/timer.h"
|
||||||
#include "sysemu/sysemu.h"
|
#include "sysemu/sysemu.h"
|
||||||
#include "hw/ppc/spapr.h"
|
#include "hw/ppc/spapr.h"
|
||||||
#include "qapi-event.h"
|
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
|
#include "qapi/qapi-events-misc.h"
|
||||||
#include "qemu/cutils.h"
|
#include "qemu/cutils.h"
|
||||||
|
|
||||||
void spapr_rtc_read(sPAPRRTCState *rtc, struct tm *tm, uint32_t *ns)
|
void spapr_rtc_read(sPAPRRTCState *rtc, struct tm *tm, uint32_t *ns)
|
||||||
|
|
|
@ -11,9 +11,9 @@
|
||||||
|
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "hw/boards.h"
|
#include "hw/boards.h"
|
||||||
#include "qmp-commands.h"
|
|
||||||
#include "hw/s390x/storage-keys.h"
|
#include "hw/s390x/storage-keys.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
|
#include "qapi/qapi-commands-misc.h"
|
||||||
#include "qapi/qmp/qdict.h"
|
#include "qapi/qmp/qdict.h"
|
||||||
#include "qemu/error-report.h"
|
#include "qemu/error-report.h"
|
||||||
#include "sysemu/kvm.h"
|
#include "sysemu/kvm.h"
|
||||||
|
|
|
@ -31,9 +31,9 @@
|
||||||
#include "sysemu/replay.h"
|
#include "sysemu/replay.h"
|
||||||
#include "hw/timer/mc146818rtc.h"
|
#include "hw/timer/mc146818rtc.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
|
#include "qapi/qapi-commands-misc.h"
|
||||||
|
#include "qapi/qapi-events-misc.h"
|
||||||
#include "qapi/visitor.h"
|
#include "qapi/visitor.h"
|
||||||
#include "qapi-event.h"
|
|
||||||
#include "qmp-commands.h"
|
|
||||||
|
|
||||||
#ifdef TARGET_I386
|
#ifdef TARGET_I386
|
||||||
#include "hw/i386/apic.h"
|
#include "hw/i386/apic.h"
|
||||||
|
|
|
@ -38,6 +38,7 @@
|
||||||
#include "migration/blocker.h"
|
#include "migration/blocker.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
#include "qapi/clone-visitor.h"
|
#include "qapi/clone-visitor.h"
|
||||||
|
#include "qapi/qapi-visit-tpm.h"
|
||||||
#include "chardev/char-fe.h"
|
#include "chardev/char-fe.h"
|
||||||
|
|
||||||
#define DEBUG_TPM 0
|
#define DEBUG_TPM 0
|
||||||
|
|
|
@ -30,6 +30,7 @@
|
||||||
#include "tpm_int.h"
|
#include "tpm_int.h"
|
||||||
#include "hw/hw.h"
|
#include "hw/hw.h"
|
||||||
#include "qapi/clone-visitor.h"
|
#include "qapi/clone-visitor.h"
|
||||||
|
#include "qapi/qapi-visit-tpm.h"
|
||||||
#include "tpm_util.h"
|
#include "tpm_util.h"
|
||||||
|
|
||||||
#define DEBUG_TPM 0
|
#define DEBUG_TPM 0
|
||||||
|
|
|
@ -24,8 +24,8 @@
|
||||||
#include "sysemu/kvm.h"
|
#include "sysemu/kvm.h"
|
||||||
#include "exec/address-spaces.h"
|
#include "exec/address-spaces.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
|
#include "qapi/qapi-events-misc.h"
|
||||||
#include "qapi/visitor.h"
|
#include "qapi/visitor.h"
|
||||||
#include "qapi-event.h"
|
|
||||||
#include "trace.h"
|
#include "trace.h"
|
||||||
#include "qemu/error-report.h"
|
#include "qemu/error-report.h"
|
||||||
|
|
||||||
|
|
|
@ -24,12 +24,12 @@
|
||||||
#include "qemu/config-file.h"
|
#include "qemu/config-file.h"
|
||||||
#include "qemu/queue.h"
|
#include "qemu/queue.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
|
#include "qapi/qapi-commands-run-state.h"
|
||||||
|
#include "qapi/qapi-events-run-state.h"
|
||||||
#include "sysemu/sysemu.h"
|
#include "sysemu/sysemu.h"
|
||||||
#include "sysemu/watchdog.h"
|
#include "sysemu/watchdog.h"
|
||||||
#include "qapi-event.h"
|
|
||||||
#include "hw/nmi.h"
|
#include "hw/nmi.h"
|
||||||
#include "qemu/help_option.h"
|
#include "qemu/help_option.h"
|
||||||
#include "qmp-commands.h"
|
|
||||||
|
|
||||||
static WatchdogAction watchdog_action = WATCHDOG_ACTION_RESET;
|
static WatchdogAction watchdog_action = WATCHDOG_ACTION_RESET;
|
||||||
static QLIST_HEAD(watchdog_list, WatchdogTimerModel) watchdog_list;
|
static QLIST_HEAD(watchdog_list, WatchdogTimerModel) watchdog_list;
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
#define BLOCK_H
|
#define BLOCK_H
|
||||||
|
|
||||||
#include "block/aio.h"
|
#include "block/aio.h"
|
||||||
#include "qapi-types.h"
|
#include "qapi/qapi-types-block-core.h"
|
||||||
#include "qemu/iov.h"
|
#include "qemu/iov.h"
|
||||||
#include "qemu/coroutine.h"
|
#include "qemu/coroutine.h"
|
||||||
#include "block/accounting.h"
|
#include "block/accounting.h"
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
#define BLOCK_DIRTY_BITMAP_H
|
#define BLOCK_DIRTY_BITMAP_H
|
||||||
|
|
||||||
#include "qemu-common.h"
|
#include "qemu-common.h"
|
||||||
#include "qapi-types.h"
|
#include "qapi/qapi-types-block-core.h"
|
||||||
#include "qemu/hbitmap.h"
|
#include "qemu/hbitmap.h"
|
||||||
|
|
||||||
BdrvDirtyBitmap *bdrv_create_dirty_bitmap(BlockDriverState *bs,
|
BdrvDirtyBitmap *bdrv_create_dirty_bitmap(BlockDriverState *bs,
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
#ifndef NBD_H
|
#ifndef NBD_H
|
||||||
#define NBD_H
|
#define NBD_H
|
||||||
|
|
||||||
|
#include "qapi/qapi-types-block.h"
|
||||||
#include "io/channel-socket.h"
|
#include "io/channel-socket.h"
|
||||||
#include "crypto/tlscreds.h"
|
#include "crypto/tlscreds.h"
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
#ifndef QEMU_CHAR_H
|
#ifndef QEMU_CHAR_H
|
||||||
#define QEMU_CHAR_H
|
#define QEMU_CHAR_H
|
||||||
|
|
||||||
|
#include "qapi/qapi-types-char.h"
|
||||||
#include "qemu/main-loop.h"
|
#include "qemu/main-loop.h"
|
||||||
#include "qemu/bitmap.h"
|
#include "qemu/bitmap.h"
|
||||||
#include "qom/object.h"
|
#include "qom/object.h"
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
#ifndef QCRYPTO_CIPHER_H
|
#ifndef QCRYPTO_CIPHER_H
|
||||||
#define QCRYPTO_CIPHER_H
|
#define QCRYPTO_CIPHER_H
|
||||||
|
|
||||||
#include "qapi-types.h"
|
#include "qapi/qapi-types-crypto.h"
|
||||||
|
|
||||||
typedef struct QCryptoCipher QCryptoCipher;
|
typedef struct QCryptoCipher QCryptoCipher;
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
#ifndef QCRYPTO_HASH_H
|
#ifndef QCRYPTO_HASH_H
|
||||||
#define QCRYPTO_HASH_H
|
#define QCRYPTO_HASH_H
|
||||||
|
|
||||||
#include "qapi-types.h"
|
#include "qapi/qapi-types-crypto.h"
|
||||||
|
|
||||||
/* See also "QCryptoHashAlgorithm" defined in qapi/crypto.json */
|
/* See also "QCryptoHashAlgorithm" defined in qapi/crypto.json */
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
#ifndef QCRYPTO_HMAC_H
|
#ifndef QCRYPTO_HMAC_H
|
||||||
#define QCRYPTO_HMAC_H
|
#define QCRYPTO_HMAC_H
|
||||||
|
|
||||||
#include "qapi-types.h"
|
#include "qapi/qapi-types-crypto.h"
|
||||||
|
|
||||||
typedef struct QCryptoHmac QCryptoHmac;
|
typedef struct QCryptoHmac QCryptoHmac;
|
||||||
struct QCryptoHmac {
|
struct QCryptoHmac {
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
#ifndef QCRYPTO_SECRET_H
|
#ifndef QCRYPTO_SECRET_H
|
||||||
#define QCRYPTO_SECRET_H
|
#define QCRYPTO_SECRET_H
|
||||||
|
|
||||||
|
#include "qapi/qapi-types-crypto.h"
|
||||||
#include "qom/object.h"
|
#include "qom/object.h"
|
||||||
|
|
||||||
#define TYPE_QCRYPTO_SECRET "secret"
|
#define TYPE_QCRYPTO_SECRET "secret"
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
#ifndef QCRYPTO_TLSCREDS_H
|
#ifndef QCRYPTO_TLSCREDS_H
|
||||||
#define QCRYPTO_TLSCREDS_H
|
#define QCRYPTO_TLSCREDS_H
|
||||||
|
|
||||||
|
#include "qapi/qapi-types-crypto.h"
|
||||||
#include "qom/object.h"
|
#include "qom/object.h"
|
||||||
|
|
||||||
#ifdef CONFIG_GNUTLS
|
#ifdef CONFIG_GNUTLS
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
#define HW_BLOCK_H
|
#define HW_BLOCK_H
|
||||||
|
|
||||||
#include "qemu-common.h"
|
#include "qemu-common.h"
|
||||||
#include "qapi-types.h"
|
#include "qapi/qapi-types-block-core.h"
|
||||||
|
|
||||||
/* Configuration */
|
/* Configuration */
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
#define HW_FDC_H
|
#define HW_FDC_H
|
||||||
|
|
||||||
#include "qemu-common.h"
|
#include "qemu-common.h"
|
||||||
#include "qapi-types.h"
|
#include "qapi/qapi-types-block.h"
|
||||||
|
|
||||||
/* fdc.c */
|
/* fdc.c */
|
||||||
#define MAX_FD 2
|
#define MAX_FD 2
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
#define HW_SPAPR_DRC_H
|
#define HW_SPAPR_DRC_H
|
||||||
|
|
||||||
#include <libfdt.h>
|
#include <libfdt.h>
|
||||||
|
#include "qapi/qapi-types-run-state.h"
|
||||||
#include "qom/object.h"
|
#include "qom/object.h"
|
||||||
#include "sysemu/sysemu.h"
|
#include "sysemu/sysemu.h"
|
||||||
#include "hw/qdev.h"
|
#include "hw/qdev.h"
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
#ifndef QEMU_QDEV_PROPERTIES_H
|
#ifndef QEMU_QDEV_PROPERTIES_H
|
||||||
#define QEMU_QDEV_PROPERTIES_H
|
#define QEMU_QDEV_PROPERTIES_H
|
||||||
|
|
||||||
|
#include "qapi/qapi-types-block.h"
|
||||||
|
#include "qapi/qapi-types-misc.h"
|
||||||
#include "hw/qdev-core.h"
|
#include "hw/qdev-core.h"
|
||||||
|
|
||||||
/*** qdev-properties.c ***/
|
/*** qdev-properties.c ***/
|
||||||
|
|
|
@ -22,6 +22,7 @@
|
||||||
#define QIO_DNS_RESOLVER_H
|
#define QIO_DNS_RESOLVER_H
|
||||||
|
|
||||||
#include "qemu-common.h"
|
#include "qemu-common.h"
|
||||||
|
#include "qapi/qapi-types-sockets.h"
|
||||||
#include "qom/object.h"
|
#include "qom/object.h"
|
||||||
#include "io/task.h"
|
#include "io/task.h"
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
#define QEMU_COLO_H
|
#define QEMU_COLO_H
|
||||||
|
|
||||||
#include "qemu-common.h"
|
#include "qemu-common.h"
|
||||||
#include "qapi-types.h"
|
#include "qapi/qapi-types-migration.h"
|
||||||
|
|
||||||
void colo_info_init(void);
|
void colo_info_init(void);
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
#define QEMU_FAILOVER_H
|
#define QEMU_FAILOVER_H
|
||||||
|
|
||||||
#include "qemu-common.h"
|
#include "qemu-common.h"
|
||||||
#include "qapi-types.h"
|
#include "qapi/qapi-types-migration.h"
|
||||||
|
|
||||||
void failover_init_state(void);
|
void failover_init_state(void);
|
||||||
FailoverStatus failover_set_state(FailoverStatus old_state,
|
FailoverStatus failover_set_state(FailoverStatus old_state,
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
#ifndef QEMU_MIGRATION_GLOBAL_STATE_H
|
#ifndef QEMU_MIGRATION_GLOBAL_STATE_H
|
||||||
#define QEMU_MIGRATION_GLOBAL_STATE_H
|
#define QEMU_MIGRATION_GLOBAL_STATE_H
|
||||||
|
|
||||||
|
#include "qapi/qapi-types-run-state.h"
|
||||||
#include "sysemu/sysemu.h"
|
#include "sysemu/sysemu.h"
|
||||||
|
|
||||||
void register_global_state(void);
|
void register_global_state(void);
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
|
|
||||||
#include "qemu-common.h"
|
#include "qemu-common.h"
|
||||||
#include "block/block.h"
|
#include "block/block.h"
|
||||||
|
#include "qapi/qapi-types-misc.h"
|
||||||
#include "qemu/readline.h"
|
#include "qemu/readline.h"
|
||||||
|
|
||||||
extern Monitor *cur_mon;
|
extern Monitor *cur_mon;
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
#ifndef QEMU_NET_FILTER_H
|
#ifndef QEMU_NET_FILTER_H
|
||||||
#define QEMU_NET_FILTER_H
|
#define QEMU_NET_FILTER_H
|
||||||
|
|
||||||
|
#include "qapi/qapi-types-net.h"
|
||||||
#include "qom/object.h"
|
#include "qom/object.h"
|
||||||
#include "qemu-common.h"
|
#include "qemu-common.h"
|
||||||
#include "net/queue.h"
|
#include "net/queue.h"
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
#define QEMU_NET_H
|
#define QEMU_NET_H
|
||||||
|
|
||||||
#include "qemu/queue.h"
|
#include "qemu/queue.h"
|
||||||
#include "qapi-types.h"
|
#include "qapi/qapi-types-net.h"
|
||||||
#include "net/queue.h"
|
#include "net/queue.h"
|
||||||
#include "migration/vmstate.h"
|
#include "migration/vmstate.h"
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,6 @@
|
||||||
#define QAPI_CLONE_VISITOR_H
|
#define QAPI_CLONE_VISITOR_H
|
||||||
|
|
||||||
#include "qapi/visitor.h"
|
#include "qapi/visitor.h"
|
||||||
#include "qapi-visit.h"
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The clone visitor is for direct use only by the QAPI_CLONE() macro;
|
* The clone visitor is for direct use only by the QAPI_CLONE() macro;
|
||||||
|
|
|
@ -115,7 +115,7 @@
|
||||||
#ifndef ERROR_H
|
#ifndef ERROR_H
|
||||||
#define ERROR_H
|
#define ERROR_H
|
||||||
|
|
||||||
#include "qapi-types.h"
|
#include "qapi/qapi-types-common.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Overall category of an error.
|
* Overall category of an error.
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
#ifndef QOBJECT_H
|
#ifndef QOBJECT_H
|
||||||
#define QOBJECT_H
|
#define QOBJECT_H
|
||||||
|
|
||||||
#include "qapi-types.h"
|
#include "qapi/qapi-builtin-types.h"
|
||||||
|
|
||||||
struct QObject {
|
struct QObject {
|
||||||
QType type;
|
QType type;
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
#ifndef QAPI_VISITOR_H
|
#ifndef QAPI_VISITOR_H
|
||||||
#define QAPI_VISITOR_H
|
#define QAPI_VISITOR_H
|
||||||
|
|
||||||
#include "qapi-types.h"
|
#include "qapi/qapi-builtin-types.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The QAPI schema defines both a set of C data types, and a QMP wire
|
* The QAPI schema defines both a set of C data types, and a QMP wire
|
||||||
|
|
|
@ -9,7 +9,7 @@ int inet_aton(const char *cp, struct in_addr *ia);
|
||||||
|
|
||||||
#endif /* !_WIN32 */
|
#endif /* !_WIN32 */
|
||||||
|
|
||||||
#include "qapi-types.h"
|
#include "qapi/qapi-types-sockets.h"
|
||||||
|
|
||||||
/* misc helpers */
|
/* misc helpers */
|
||||||
int qemu_socket(int domain, int type, int protocol);
|
int qemu_socket(int domain, int type, int protocol);
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
#define THROTTLE_H
|
#define THROTTLE_H
|
||||||
|
|
||||||
#include "qemu-common.h"
|
#include "qemu-common.h"
|
||||||
#include "qapi-types.h"
|
#include "qapi/qapi-types-block-core.h"
|
||||||
#include "qemu/timer.h"
|
#include "qemu/timer.h"
|
||||||
|
|
||||||
#define THROTTLE_VALUE_MAX 1000000000000000LL
|
#define THROTTLE_VALUE_MAX 1000000000000000LL
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
#include "disas/bfd.h"
|
#include "disas/bfd.h"
|
||||||
#include "exec/hwaddr.h"
|
#include "exec/hwaddr.h"
|
||||||
#include "exec/memattrs.h"
|
#include "exec/memattrs.h"
|
||||||
|
#include "qapi/qapi-types-run-state.h"
|
||||||
#include "qemu/bitmap.h"
|
#include "qemu/bitmap.h"
|
||||||
#include "qemu/queue.h"
|
#include "qemu/queue.h"
|
||||||
#include "qemu/thread.h"
|
#include "qemu/thread.h"
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
#ifndef QEMU_OBJECT_H
|
#ifndef QEMU_OBJECT_H
|
||||||
#define QEMU_OBJECT_H
|
#define QEMU_OBJECT_H
|
||||||
|
|
||||||
#include "qapi-types.h"
|
#include "qapi/qapi-builtin-types.h"
|
||||||
#include "qemu/queue.h"
|
#include "qemu/queue.h"
|
||||||
|
|
||||||
struct TypeImpl;
|
struct TypeImpl;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#ifndef QEMU_ARCH_INIT_H
|
#ifndef QEMU_ARCH_INIT_H
|
||||||
#define QEMU_ARCH_INIT_H
|
#define QEMU_ARCH_INIT_H
|
||||||
|
|
||||||
#include "qapi-types.h"
|
#include "qapi/qapi-types-misc.h"
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
QEMU_ARCH_ALL = -1,
|
QEMU_ARCH_ALL = -1,
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
#ifndef QEMU_BALLOON_H
|
#ifndef QEMU_BALLOON_H
|
||||||
#define QEMU_BALLOON_H
|
#define QEMU_BALLOON_H
|
||||||
|
|
||||||
#include "qapi-types.h"
|
#include "qapi/qapi-types-misc.h"
|
||||||
|
|
||||||
typedef void (QEMUBalloonEvent)(void *opaque, ram_addr_t target);
|
typedef void (QEMUBalloonEvent)(void *opaque, ram_addr_t target);
|
||||||
typedef void (QEMUBalloonStatus)(void *opaque, BalloonInfo *info);
|
typedef void (QEMUBalloonStatus)(void *opaque, BalloonInfo *info);
|
||||||
|
|
|
@ -14,6 +14,8 @@
|
||||||
#ifndef DUMP_H
|
#ifndef DUMP_H
|
||||||
#define DUMP_H
|
#define DUMP_H
|
||||||
|
|
||||||
|
#include "qapi/qapi-types-misc.h"
|
||||||
|
|
||||||
#define MAKEDUMPFILE_SIGNATURE "makedumpfile"
|
#define MAKEDUMPFILE_SIGNATURE "makedumpfile"
|
||||||
#define MAX_SIZE_MDF_HEADER (4096) /* max size of makedumpfile_header */
|
#define MAX_SIZE_MDF_HEADER (4096) /* max size of makedumpfile_header */
|
||||||
#define TYPE_FLAT_HEADER (1) /* type of flattened format */
|
#define TYPE_FLAT_HEADER (1) /* type of flattened format */
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
#define SYSEMU_HOSTMEM_H
|
#define SYSEMU_HOSTMEM_H
|
||||||
|
|
||||||
#include "sysemu/sysemu.h" /* for MAX_NODES */
|
#include "sysemu/sysemu.h" /* for MAX_NODES */
|
||||||
|
#include "qapi/qapi-types-misc.h"
|
||||||
#include "qom/object.h"
|
#include "qom/object.h"
|
||||||
#include "exec/memory.h"
|
#include "exec/memory.h"
|
||||||
#include "qemu/bitmap.h"
|
#include "qemu/bitmap.h"
|
||||||
|
|
|
@ -13,6 +13,8 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "sysemu.h"
|
#include "sysemu.h"
|
||||||
|
#include "qapi/qapi-types-misc.h"
|
||||||
|
#include "qapi/qapi-types-ui.h"
|
||||||
|
|
||||||
/* replay clock kinds */
|
/* replay clock kinds */
|
||||||
enum ReplayClockKind {
|
enum ReplayClockKind {
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
#define SYSEMU_H
|
#define SYSEMU_H
|
||||||
/* Misc. things related to the system emulator. */
|
/* Misc. things related to the system emulator. */
|
||||||
|
|
||||||
|
#include "qapi/qapi-types-run-state.h"
|
||||||
#include "qemu/queue.h"
|
#include "qemu/queue.h"
|
||||||
#include "qemu/timer.h"
|
#include "qemu/timer.h"
|
||||||
#include "qemu/notify.h"
|
#include "qemu/notify.h"
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
#ifndef QEMU_TPM_H
|
#ifndef QEMU_TPM_H
|
||||||
#define QEMU_TPM_H
|
#define QEMU_TPM_H
|
||||||
|
|
||||||
|
#include "qapi/qapi-types-tpm.h"
|
||||||
#include "qom/object.h"
|
#include "qom/object.h"
|
||||||
|
|
||||||
int tpm_config_parse(QemuOptsList *opts_list, const char *optarg);
|
int tpm_config_parse(QemuOptsList *opts_list, const char *optarg);
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
#define QEMU_WATCHDOG_H
|
#define QEMU_WATCHDOG_H
|
||||||
|
|
||||||
#include "qemu/queue.h"
|
#include "qemu/queue.h"
|
||||||
#include "qapi-types.h"
|
#include "qapi/qapi-types-run-state.h"
|
||||||
|
|
||||||
struct WatchdogTimerModel {
|
struct WatchdogTimerModel {
|
||||||
QLIST_ENTRY(WatchdogTimerModel) entry;
|
QLIST_ENTRY(WatchdogTimerModel) entry;
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue