xref: /openbmc/qemu/qapi/misc-arm.json (revision 504632dcc63145e6c5297fc1b7f1d76450dd845a)
130fbb258SDaniel P. Berrangé# -*- Mode: Python -*-
230fbb258SDaniel P. Berrangé# vim: filetype=python
330fbb258SDaniel P. Berrangé#
430fbb258SDaniel P. Berrangé# SPDX-License-Identifier: GPL-2.0-or-later
530fbb258SDaniel P. Berrangé
630fbb258SDaniel P. Berrangé##
730fbb258SDaniel P. Berrangé# @GICCapability:
830fbb258SDaniel P. Berrangé#
930fbb258SDaniel P. Berrangé# The struct describes capability for a specific GIC (Generic
1030fbb258SDaniel P. Berrangé# Interrupt Controller) version.  These bits are not only decided by
1130fbb258SDaniel P. Berrangé# QEMU/KVM software version, but also decided by the hardware that the
1230fbb258SDaniel P. Berrangé# program is running upon.
1330fbb258SDaniel P. Berrangé#
1430fbb258SDaniel P. Berrangé# @version: version of GIC to be described.  Currently, only 2 and 3
1530fbb258SDaniel P. Berrangé#     are supported.
1630fbb258SDaniel P. Berrangé#
1730fbb258SDaniel P. Berrangé# @emulated: whether current QEMU/hardware supports emulated GIC
1830fbb258SDaniel P. Berrangé#     device in user space.
1930fbb258SDaniel P. Berrangé#
2030fbb258SDaniel P. Berrangé# @kernel: whether current QEMU/hardware supports hardware accelerated
2130fbb258SDaniel P. Berrangé#     GIC device in kernel.
2230fbb258SDaniel P. Berrangé#
2330fbb258SDaniel P. Berrangé# Since: 2.6
2430fbb258SDaniel P. Berrangé##
2530fbb258SDaniel P. Berrangé{ 'struct': 'GICCapability',
2630fbb258SDaniel P. Berrangé  'data': { 'version': 'int',
2730fbb258SDaniel P. Berrangé            'emulated': 'bool',
2830fbb258SDaniel P. Berrangé            'kernel': 'bool' } }
2930fbb258SDaniel P. Berrangé
3030fbb258SDaniel P. Berrangé##
3130fbb258SDaniel P. Berrangé# @query-gic-capabilities:
3230fbb258SDaniel P. Berrangé#
33*68c0156dSJohn Snow# It will return a list of `GICCapability` objects that describe its
3430fbb258SDaniel P. Berrangé# capability bits.
3530fbb258SDaniel P. Berrangé#
3630fbb258SDaniel P. Berrangé# On non-ARM targets this command will report an error as the GIC
3730fbb258SDaniel P. Berrangé# technology is not applicable.
3830fbb258SDaniel P. Berrangé#
3930fbb258SDaniel P. Berrangé# Since: 2.6
4030fbb258SDaniel P. Berrangé#
4130fbb258SDaniel P. Berrangé# .. qmp-example::
4230fbb258SDaniel P. Berrangé#
4330fbb258SDaniel P. Berrangé#     -> { "execute": "query-gic-capabilities" }
4430fbb258SDaniel P. Berrangé#     <- { "return": [{ "version": 2, "emulated": true, "kernel": false },
4530fbb258SDaniel P. Berrangé#                     { "version": 3, "emulated": false, "kernel": true } ] }
4630fbb258SDaniel P. Berrangé##
4730fbb258SDaniel P. Berrangé{ 'command': 'query-gic-capabilities', 'returns': ['GICCapability'] }
48