Lines Matching +full:kvm +full:- +full:build
1 # -*- Mode: Python -*-
4 # SPDX-License-Identifier: GPL-2.0-or-later
7 # @rtc-reset-reinjection:
11 # guest agent's `guest-set-time` command.
19 # .. qmp-example::
21 # -> { "execute": "rtc-reset-reinjection" }
22 # <- { "return": {} }
24 { 'command': 'rtc-reset-reinjection' }
29 # An enumeration of SEV state information used during `query-sev`.
33 # @launch-update: The guest is currently being launched; plaintext
36 # @launch-secret: The guest is currently being launched; ciphertext
41 # @send-update: The guest is currently being migrated out to another
44 # @receive-update: The guest is currently being migrated from another
50 'data': ['uninit', 'launch-update', 'launch-secret', 'running',
51 'send-update', 'receive-update' ] }
58 # @sev: The guest is a legacy SEV or SEV-ES guest.
60 # @sev-snp: The guest is an SEV-SNP guest.
65 'data': [ 'sev', 'sev-snp' ] }
70 # Information specific to legacy SEV/SEV-ES guests.
85 # Information specific to SEV-SNP guests.
87 # @snp-policy: SEV-SNP policy value
92 'data': { 'snp-policy': 'uint64' } }
101 # @api-major: SEV API major version
103 # @api-minor: SEV API minor version
105 # @build-id: SEV FW build id
109 # @sev-type: Type of SEV guest being run
115 'api-major': 'uint8',
116 'api-minor' : 'uint8',
117 'build-id' : 'uint8',
119 'sev-type' : 'SevGuestType' },
120 'discriminator': 'sev-type',
123 'sev-snp': 'SevSnpGuestInfo' } }
127 # @query-sev:
129 # Return information about SEV/SEV-ES/SEV-SNP.
137 # .. qmp-example::
139 # -> { "execute": "query-sev" }
140 # <- { "return": { "enabled": true, "api-major" : 0, "api-minor" : 0,
141 # "build-id" : 0, "policy" : 0, "state" : "running",
144 { 'command': 'query-sev', 'returns': 'SevInfo' }
158 # @query-sev-launch-measure:
160 # Query the SEV/SEV-ES guest launch information.
162 # This is only valid on x86 machines configured with KVM and the
163 # 'sev-guest' confidential virtualization object. The launch
164 # measurement for SEV-SNP guests is only available within the guest.
169 # - If the launch measurement is unavailable, either due to an
175 # .. qmp-example::
177 # -> { "execute": "query-sev-launch-measure" }
178 # <- { "return": { "data": "4l8LXeNlSPUDlXPJG5966/8%YZ" } }
180 { 'command': 'query-sev-launch-measure', 'returns': 'SevLaunchMeasureInfo' }
188 # @pdh: Platform Diffie-Hellman key (base64 encoded)
190 # @cert-chain: PDH certificate chain (base64 encoded)
192 # @cpu0-id: Unique ID of CPU0 (base64 encoded) (since 7.1)
194 # @cbitpos: C-bit location in page table entry
196 # @reduced-phys-bits: Number of physical address bit reduction when
203 'cert-chain': 'str',
204 'cpu0-id': 'str',
206 'reduced-phys-bits': 'int'} }
209 # @query-sev-capabilities:
213 # This is only supported on AMD X86 platforms with KVM enabled.
216 # - If SEV is not available on the platform, GenericError
220 # .. qmp-example::
222 # -> { "execute": "query-sev-capabilities" }
223 # <- { "return": { "pdh": "8CCDD8DDD", "cert-chain": "888CCCDDDEE",
224 # "cpu0-id": "2lvmGwo+...61iEinw==",
225 # "cbitpos": 47, "reduced-phys-bits": 1}}
227 { 'command': 'query-sev-capabilities', 'returns': 'SevCapability' }
230 # @sev-inject-launch-secret:
232 # Inject a secret blob into a SEV/SEV-ES guest's memory.
234 # This is only valid on x86 machines configured with KVM and the
235 # 'sev-guest' confidential virtualization object. SEV-SNP guests do
238 # @packet-header: the launch secret packet header encoded in base64
245 # - If launch secret injection is not possible, either due to
251 { 'command': 'sev-inject-launch-secret',
252 'data': { 'packet-header': 'str', 'secret': 'str', '*gpa': 'uint64' } }
268 # @query-sev-attestation-report:
272 # This is only valid on x86 machines configured with KVM and the
273 # 'sev-guest' confidential virtualization object. The attestation
274 # report for SEV-SNP guests is only available within the guest.
280 # - If the attestation report is unavailable, either due to an
286 # .. qmp-example::
288 # -> { "execute" : "query-sev-attestation-report",
290 # <- { "return" : { "data": "aaaaaaaabbbddddd"} }
292 { 'command': 'query-sev-attestation-report',
336 # @query-sgx:
342 # .. qmp-example::
344 # -> { "execute": "query-sgx" }
345 # <- { "return": { "sgx": true, "sgx1" : true, "sgx2" : true,
350 { 'command': 'query-sgx', 'returns': 'SgxInfo' }
353 # @query-sgx-capabilities:
359 # .. qmp-example::
361 # -> { "execute": "query-sgx-capabilities" }
362 # <- { "return": { "sgx": true, "sgx1" : true, "sgx2" : true,
367 { 'command': 'query-sgx-capabilities', 'returns': 'SgxInfo' }
384 # @ipi: The post is an inter-processor interrupt (IPI).
402 # @remote-domain: remote domain for interdomain ports
416 'remote-domain': 'str',
423 # @xen-event-list:
431 # .. qmp-example::
433 # -> { "execute": "xen-event-list" }
434 # <- { "return": [
439 # "remote-domain": "qemu",
448 # "remote-domain": "",
456 { 'command': 'xen-event-list',
460 # @xen-event-inject:
468 # .. qmp-example::
470 # -> { "execute": "xen-event-inject", "arguments": { "port": 1 } }
471 # <- { "return": { } }
473 { 'command': 'xen-event-inject',