summaryrefslogtreecommitdiff
path: root/qapi/misc-arm.json
blob: 4dc66d00e5c39429786b92f785ebd5463e744fca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# -*- 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'] }

##
# @SsidSizeMode:
#
# SMMUv3 SubstreamID size configuration mode.
#
# @auto: derive from host IOMMU capabilities
#
# Values 0-20: SSIDSIZE value in bits.  0 disables SubstreamID.
#
# Since: 11.0
##
{ 'enum': 'SsidSizeMode',
  'data': [ 'auto', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
            '10', '11', '12', '13', '14', '15', '16', '17', '18',
            '19', '20' ] } # order matters, see ssidsize_mode_to_value()

##
# @OasMode:
#
# SMMUv3 Output Address Size configuration mode.
#
# @auto: derive from host IOMMU capabilities
#
# @32: 32-bit output address size
#
# @36: 36-bit output address size
#
# @40: 40-bit output address size
#
# @42: 42-bit output address size
#
# @44: 44-bit output address size
#
# @48: 48-bit output address size
#
# @52: 52-bit output address size
#
# @56: 56-bit output address size
#
# Since: 11.0
##
{ 'enum': 'OasMode',
  'data': [ 'auto', '32', '36', '40', '42', '44', '48', '52', '56' ] }