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