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