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