xref: /openbmc/qemu/qapi/misc-arm.json (revision 504632dcc63145e6c5297fc1b7f1d76450dd845a)
1# -*- Mode: Python -*-
2# vim: filetype=python
3#
4# SPDX-License-Identifier: GPL-2.0-or-later
5
6##
7# @GICCapability:
8#
9# The struct describes capability for a specific GIC (Generic
10# Interrupt Controller) version.  These bits are not only decided by
11# QEMU/KVM software version, but also decided by the hardware that the
12# program is running upon.
13#
14# @version: version of GIC to be described.  Currently, only 2 and 3
15#     are supported.
16#
17# @emulated: whether current QEMU/hardware supports emulated GIC
18#     device in user space.
19#
20# @kernel: whether current QEMU/hardware supports hardware accelerated
21#     GIC device in kernel.
22#
23# Since: 2.6
24##
25{ 'struct': 'GICCapability',
26  'data': { 'version': 'int',
27            'emulated': 'bool',
28            'kernel': 'bool' } }
29
30##
31# @query-gic-capabilities:
32#
33# It will return a list of `GICCapability` objects that describe its
34# capability bits.
35#
36# On non-ARM targets this command will report an error as the GIC
37# technology is not applicable.
38#
39# Since: 2.6
40#
41# .. qmp-example::
42#
43#     -> { "execute": "query-gic-capabilities" }
44#     <- { "return": [{ "version": 2, "emulated": true, "kernel": false },
45#                     { "version": 3, "emulated": false, "kernel": true } ] }
46##
47{ 'command': 'query-gic-capabilities', 'returns': ['GICCapability'] }
48