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