master
json 165 lines 3.54 KB
Raw
1 # -*- Mode: Python -*-
2 # vim: filetype=python
3 #
4 # SPDX-License-Identifier: GPL-2.0-or-later
5 # This work is licensed under the terms of the GNU GPL, version 2 or later.
6 # See the COPYING file in the top-level directory.
7
8 { 'include': 'machine-common.json' }
9
10 ##
11 # @S390CpuPolarization:
12 #
13 # An enumeration of CPU polarization that can be assumed by a virtual
14 # S390 CPU
15 #
16 # Since: 8.2
17 ##
18 { 'enum': 'S390CpuPolarization',
19 'data': [ 'horizontal', 'vertical' ]
20 }
21
22 ##
23 # @set-cpu-topology:
24 #
25 # Modify the topology by moving the CPU inside the topology tree, or
26 # by changing a modifier attribute of a CPU. Absent values will not
27 # be modified.
28 #
29 # @core-id: the vCPU ID to be moved
30 #
31 # @socket-id: destination socket to move the vCPU to
32 #
33 # @book-id: destination book to move the vCPU to
34 #
35 # @drawer-id: destination drawer to move the vCPU to
36 #
37 # @entitlement: entitlement to set
38 #
39 # @dedicated: whether the provisioning of real to virtual CPU is
40 # dedicated
41 #
42 # Features:
43 #
44 # @unstable: This command is experimental.
45 #
46 # Since: 8.2
47 ##
48 { 'command': 'set-cpu-topology',
49 'data': {
50 'core-id': 'uint16',
51 '*socket-id': 'uint16',
52 '*book-id': 'uint16',
53 '*drawer-id': 'uint16',
54 '*entitlement': 'S390CpuEntitlement',
55 '*dedicated': 'bool'
56 },
57 'features': [ 'unstable' ]
58 }
59
60 ##
61 # @CPU_POLARIZATION_CHANGE:
62 #
63 # Emitted when the guest asks to change the polarization.
64 #
65 # The guest can tell the host (via the PTF instruction) whether the
66 # CPUs should be provisioned using horizontal or vertical
67 # polarization.
68 #
69 # On horizontal polarization the host is expected to provision all
70 # vCPUs equally.
71 #
72 # On vertical polarization the host can provision each vCPU
73 # differently. The guest will get information on the details of the
74 # provisioning the next time it uses the STSI(15) instruction.
75 #
76 # @polarization: polarization specified by the guest
77 #
78 # Features:
79 #
80 # @unstable: This event is experimental.
81 #
82 # Since: 8.2
83 #
84 # .. qmp-example::
85 #
86 # <- { "event": "CPU_POLARIZATION_CHANGE",
87 # "data": { "polarization": "horizontal" },
88 # "timestamp": { "seconds": 1401385907, "microseconds": 422329 } }
89 ##
90 { 'event': 'CPU_POLARIZATION_CHANGE',
91 'data': { 'polarization': 'S390CpuPolarization' },
92 'features': [ 'unstable' ]
93 }
94
95 ##
96 # @CpuPolarizationInfo:
97 #
98 # The result of a CPU polarization query.
99 #
100 # @polarization: the CPU polarization
101 #
102 # Since: 8.2
103 ##
104 { 'struct': 'CpuPolarizationInfo',
105 'data': { 'polarization': 'S390CpuPolarization' }
106 }
107
108 ##
109 # @query-s390x-cpu-polarization:
110 #
111 # Features:
112 #
113 # @unstable: This command is experimental.
114 #
115 # Returns: the machine's CPU polarization
116 #
117 # Since: 8.2
118 ##
119 { 'command': 'query-s390x-cpu-polarization', 'returns': 'CpuPolarizationInfo',
120 'features': [ 'unstable' ]
121 }
122
123 ##
124 # @SCLP_CPI_INFO_AVAILABLE:
125 #
126 # Emitted when the Control-Program Identification data is available in
127 # the QOM tree.
128 #
129 # Features:
130 #
131 # @unstable: This event is experimental.
132 #
133 # Since: 10.2
134 #
135 # .. qmp-example::
136 #
137 # <- { "event": "SCLP_CPI_INFO_AVAILABLE",
138 # "timestamp": { "seconds": 1401385907, "microseconds": 422329 } }
139 ##
140 { 'event': 'SCLP_CPI_INFO_AVAILABLE',
141 'features': [ 'unstable' ]
142 }
143
144 ##
145 # @BootCertificates:
146 #
147 # Boot certificates for secure IPL.
148 #
149 # @path: path to an X.509 certificate file or a directory containing
150 # certificate files.
151 #
152 # Since: 11.2
153 ##
154 { 'struct': 'BootCertificates',
155 'data': {'path': 'str'} }
156
157 ##
158 # @DummyBootCertificates:
159 #
160 # Not used by QMP; hack to let us use BootCertificatesList internally.
161 #
162 # Since: 11.2
163 ##
164 { 'struct': 'DummyBootCertificates',
165 'data': {'unused-boot-certs': ['BootCertificates'] } }