1# -*- Mode: Python -*- 2 3## 4# = Common data types 5## 6 7## 8# @QapiErrorClass: 9# 10# QEMU error classes 11# 12# @GenericError: this is used for errors that don't require a specific error 13# class. This should be the default case for most errors 14# 15# @CommandNotFound: the requested command has not been found 16# 17# @DeviceNotActive: a device has failed to be become active 18# 19# @DeviceNotFound: the requested device has not been found 20# 21# @KVMMissingCap: the requested operation can't be fulfilled because a 22# required KVM capability is missing 23# 24# Since: 1.2 25## 26{ 'enum': 'QapiErrorClass', 27 # Keep this in sync with ErrorClass in error.h 28 'data': [ 'GenericError', 'CommandNotFound', 29 'DeviceNotActive', 'DeviceNotFound', 'KVMMissingCap' ] } 30 31## 32# @IoOperationType: 33# 34# An enumeration of the I/O operation types 35# 36# @read: read operation 37# 38# @write: write operation 39# 40# Since: 2.1 41## 42{ 'enum': 'IoOperationType', 43 'data': [ 'read', 'write' ] } 44 45## 46# @OnOffAuto: 47# 48# An enumeration of three options: on, off, and auto 49# 50# @auto: QEMU selects the value between on and off 51# 52# @on: Enabled 53# 54# @off: Disabled 55# 56# Since: 2.2 57## 58{ 'enum': 'OnOffAuto', 59 'data': [ 'auto', 'on', 'off' ] } 60 61## 62# @OnOffSplit: 63# 64# An enumeration of three values: on, off, and split 65# 66# @on: Enabled 67# 68# @off: Disabled 69# 70# @split: Mixed 71# 72# Since: 2.6 73## 74{ 'enum': 'OnOffSplit', 75 'data': [ 'on', 'off', 'split' ] } 76 77## 78# @String: 79# 80# A fat type wrapping 'str', to be embedded in lists. 81# 82# Since: 1.2 83## 84{ 'struct': 'String', 85 'data': { 86 'str': 'str' } } 87 88## 89# @StrOrNull: 90# 91# This is a string value or the explicit lack of a string (null 92# pointer in C). Intended for cases when 'optional absent' already 93# has a different meaning. 94# 95# @s: the string value 96# @n: no string value 97# 98# Since: 2.10 99## 100{ 'alternate': 'StrOrNull', 101 'data': { 's': 'str', 102 'n': 'null' } } 103 104## 105# @OffAutoPCIBAR: 106# 107# An enumeration of options for specifying a PCI BAR 108# 109# @off: The specified feature is disabled 110# 111# @auto: The PCI BAR for the feature is automatically selected 112# 113# @bar0: PCI BAR0 is used for the feature 114# 115# @bar1: PCI BAR1 is used for the feature 116# 117# @bar2: PCI BAR2 is used for the feature 118# 119# @bar3: PCI BAR3 is used for the feature 120# 121# @bar4: PCI BAR4 is used for the feature 122# 123# @bar5: PCI BAR5 is used for the feature 124# 125# Since: 2.12 126## 127{ 'enum': 'OffAutoPCIBAR', 128 'data': [ 'off', 'auto', 'bar0', 'bar1', 'bar2', 'bar3', 'bar4', 'bar5' ] } 129 130## 131# @PCIELinkSpeed: 132# 133# An enumeration of PCIe link speeds in units of GT/s 134# 135# @2_5: 2.5GT/s 136# 137# @5: 5.0GT/s 138# 139# @8: 8.0GT/s 140# 141# @16: 16.0GT/s 142# 143# Since: 4.0 144## 145{ 'enum': 'PCIELinkSpeed', 146 'data': [ '2_5', '5', '8', '16' ] } 147 148## 149# @PCIELinkWidth: 150# 151# An enumeration of PCIe link width 152# 153# @1: x1 154# 155# @2: x2 156# 157# @4: x4 158# 159# @8: x8 160# 161# @12: x12 162# 163# @16: x16 164# 165# @32: x32 166# 167# Since: 4.0 168## 169{ 'enum': 'PCIELinkWidth', 170 'data': [ '1', '2', '4', '8', '12', '16', '32' ] } 171 172## 173# @SysEmuTarget: 174# 175# The comprehensive enumeration of QEMU system emulation ("softmmu") 176# targets. Run "./configure --help" in the project root directory, and 177# look for the *-softmmu targets near the "--target-list" option. The 178# individual target constants are not documented here, for the time 179# being. 180# 181# Notes: The resulting QMP strings can be appended to the "qemu-system-" 182# prefix to produce the corresponding QEMU executable name. This 183# is true even for "qemu-system-x86_64". 184# 185# ppcemb: dropped in 3.1 186# 187# Since: 3.0 188## 189{ 'enum' : 'SysEmuTarget', 190 'data' : [ 'aarch64', 'alpha', 'arm', 'cris', 'hppa', 'i386', 'lm32', 191 'm68k', 'microblaze', 'microblazeel', 'mips', 'mips64', 192 'mips64el', 'mipsel', 'moxie', 'nios2', 'or1k', 'ppc', 193 'ppc64', 'riscv32', 'riscv64', 's390x', 'sh4', 194 'sh4eb', 'sparc', 'sparc64', 'tricore', 'unicore32', 195 'x86_64', 'xtensa', 'xtensaeb' ] } 196