| # -*- 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' ] } |