| # -*- Mode: Python -*- | |
| # vim: filetype=python | |
| # | |
| # SPDX-License-Identifier: GPL-2.0-or-later | |
| ## | |
| # @GICCapability: | |
| # The struct describes capability for a specific GIC (Generic | |
| # Interrupt Controller) version. These bits are not only decided | |
| # by QEMU/KVM software version, but also decided by the hardware | |
| # that the program is running upon. | |
| # | |
| # @version: version of GIC to be described. Currently, only 2 and 3 | |
| # are supported. | |
| # | |
| # @emulated: whether current QEMU/hardware supports emulated GIC | |
| # device in user space. | |
| # | |
| # @kernel: whether current QEMU/hardware supports hardware accelerated | |
| # GIC device in kernel. | |
| # | |
| # Since: 2.6 | |
| ## | |
| { 'struct': 'GICCapability', | |
| 'data': { 'version': 'int', | |
| 'emulated': 'bool', | |
| 'kernel': 'bool' } } | |
| ## | |
| # @query-gic-capabilities: | |
| # It will return a list of `GICCapability` objects that describe | |
| # its capability bits. | |
| # | |
| # On non-ARM targets this command will report an error as the GIC | |
| # technology is not applicable. | |
| # | |
| # Since: 2.6 | |
| # | |
| # .. qmp-example:: | |
| # | |
| # -> { "execute": "query-gic-capabilities" } | |
| # <- { "return": [{ "version": 2, "emulated": true, "kernel": false }, | |
| # { "version": 3, "emulated": false, "kernel": true } ] } | |
| ## | |
| { 'command': 'query-gic-capabilities', 'returns': ['GICCapability'] } | |
| ## | |
| # @SsidSizeMode: | |
| # SMMUv3 SubstreamID size configuration mode. | |
| # | |
| # @auto: derive from host IOMMU capabilities | |
| # | |
| # Values 0-20: SSIDSIZE value in bits. 0 disables SubstreamID. | |
| # | |
| # Since: 11.0 | |
| ## | |
| { 'enum': 'SsidSizeMode', | |
| 'data': [ 'auto', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', | |
| '10', '11', '12', '13', '14', '15', '16', '17', '18', | |
| '19', '20' ] } # order matters, see ssidsize_mode_to_value() | |
| ## | |
| # @OasMode: | |
| # SMMUv3 Output Address Size configuration mode. | |
| # | |
| # @auto: derive from host IOMMU capabilities | |
| # | |
| # @32: 32-bit output address size | |
| # | |
| # @36: 36-bit output address size | |
| # | |
| # @40: 40-bit output address size | |
| # | |
| # @42: 42-bit output address size | |
| # | |
| # @44: 44-bit output address size | |
| # | |
| # @48: 48-bit output address size | |
| # | |
| # @52: 52-bit output address size | |
| # | |
| # @56: 56-bit output address size | |
| # | |
| # Since: 11.0 | |
| ## | |
| { 'enum': 'OasMode', | |
| 'data': [ 'auto', '32', '36', '40', '42', '44', '48', '52', '56' ] } |