xref: /openbmc/qemu/qapi/qapi-schema.json (revision 6af8037c42fdc3d20d5aa2686799ab356a9ee1a9)
1eb815e24SMarkus Armbruster# -*- Mode: Python -*-
2f7160f32SAndrea Bolognani# vim: filetype=python
3eb815e24SMarkus Armbruster##
4eb815e24SMarkus Armbruster# = Introduction
5eb815e24SMarkus Armbruster#
6eb815e24SMarkus Armbruster# This document describes all commands currently supported by QMP.
7eb815e24SMarkus Armbruster#
8a937b6aaSMarkus Armbruster# Most of the time their usage is exactly the same as in the user
9a937b6aaSMarkus Armbruster# Monitor, this means that any other document which also describe
10a937b6aaSMarkus Armbruster# commands (the manpage, QEMU's manual, etc) can and should be
11a937b6aaSMarkus Armbruster# consulted.
12eb815e24SMarkus Armbruster#
13a937b6aaSMarkus Armbruster# QMP has two types of commands: regular and query commands.  Regular
14a937b6aaSMarkus Armbruster# commands usually change the Virtual Machine's state someway, while
15a937b6aaSMarkus Armbruster# query commands just return information.  The sections below are
16a937b6aaSMarkus Armbruster# divided accordingly.
17eb815e24SMarkus Armbruster#
18a937b6aaSMarkus Armbruster# It's important to observe that all communication examples are
19a937b6aaSMarkus Armbruster# formatted in a reader-friendly way, so that they're easier to
20a937b6aaSMarkus Armbruster# understand.  However, in real protocol usage, they're emitted as a
21a937b6aaSMarkus Armbruster# single line.
22eb815e24SMarkus Armbruster#
23eb815e24SMarkus Armbruster# Also, the following notation is used to denote data flow:
24eb815e24SMarkus Armbruster#
25eb815e24SMarkus Armbruster# Example:
26eb815e24SMarkus Armbruster#
27a0fcff38SPeter Maydell# ::
28a0fcff38SPeter Maydell#
29a0fcff38SPeter Maydell#   -> data issued by the Client
30a0fcff38SPeter Maydell#   <- Server data response
31eb815e24SMarkus Armbruster#
32d5657258SPeter Maydell# Please refer to the
33d5657258SPeter Maydell# :doc:`QEMU Machine Protocol Specification </interop/qmp-spec>`
34a937b6aaSMarkus Armbruster# for detailed information on the Server command and response formats.
35eb815e24SMarkus Armbruster##
36eb815e24SMarkus Armbruster
379a9f9099SKevin Wolf{ 'include': 'pragma.json' }
38eb815e24SMarkus Armbruster
39eb815e24SMarkus Armbruster# Documentation generated with qapi-gen.py is in source order, with
40eb815e24SMarkus Armbruster# included sub-schemas inserted at the first include directive
41eb815e24SMarkus Armbruster# (subsequent include directives have no effect).  To get a sane and
42eb815e24SMarkus Armbruster# stable order, it's best to include each sub-schema just once, or
43eb815e24SMarkus Armbruster# include it first right here.
44eb815e24SMarkus Armbruster
45abb3d37dSMarkus Armbruster{ 'include': 'error.json' }
46eb815e24SMarkus Armbruster{ 'include': 'common.json' }
47eb815e24SMarkus Armbruster{ 'include': 'sockets.json' }
48eb815e24SMarkus Armbruster{ 'include': 'run-state.json' }
49eb815e24SMarkus Armbruster{ 'include': 'crypto.json' }
504622c706SMarkus Armbruster{ 'include': 'job.json' }
51eb815e24SMarkus Armbruster{ 'include': 'block.json' }
525daa6bfdSKevin Wolf{ 'include': 'block-export.json' }
53eb815e24SMarkus Armbruster{ 'include': 'char.json' }
54d06b747bSMarkus Armbruster{ 'include': 'dump.json' }
55eb815e24SMarkus Armbruster{ 'include': 'net.json' }
56e88899faSAndrew Melnychenko{ 'include': 'ebpf.json' }
57eb815e24SMarkus Armbruster{ 'include': 'rocker.json' }
58eb815e24SMarkus Armbruster{ 'include': 'tpm.json' }
59eb815e24SMarkus Armbruster{ 'include': 'ui.json' }
60c8c99887SDaniel P. Berrange{ 'include': 'authz.json' }
61eb815e24SMarkus Armbruster{ 'include': 'migration.json' }
62eb815e24SMarkus Armbruster{ 'include': 'transaction.json' }
63eb815e24SMarkus Armbruster{ 'include': 'trace.json' }
646dd75472SMarkus Armbruster{ 'include': 'compat.json' }
65fa4dcf57SKevin Wolf{ 'include': 'control.json' }
66eb815e24SMarkus Armbruster{ 'include': 'introspect.json' }
67c577ff62SMarkus Armbruster{ 'include': 'qom.json' }
68c577ff62SMarkus Armbruster{ 'include': 'qdev.json' }
695de1aff2SPierre Morel{ 'include': 'machine-common.json' }
708ac25c84SMarkus Armbruster{ 'include': 'machine.json' }
717f7b4e7aSMarkus Armbruster{ 'include': 'machine-target.json' }
7243d7e1d7SPavel Dovgalyuk{ 'include': 'replay.json' }
7350186051SLukas Straub{ 'include': 'yank.json' }
74eb815e24SMarkus Armbruster{ 'include': 'misc.json' }
75b0227cdbSMarkus Armbruster{ 'include': 'misc-target.json' }
768c3a7d00SKővágó, Zoltán{ 'include': 'audio.json' }
7727c9188fSPhilippe Mathieu-Daudé{ 'include': 'acpi.json' }
7861c7f987SPhilippe Mathieu-Daudé{ 'include': 'pci.json' }
79b9f88dc0SMark Kanda{ 'include': 'stats.json' }
80a5ebce38SLaurent Vivier{ 'include': 'virtio.json' }
81*a0359b56SAvihai Horon{ 'include': 'vfio.json' }
8214c9fd16Szhenwei pi{ 'include': 'cryptodev.json' }
83415442a1SJonathan Cameron{ 'include': 'cxl.json' }
84