This sev-guest object property indicates whether QEMU should
expose the kernel, ramdisk, cmdline hashes to the firmware
for measurement.
The 6.2.0 capabilities are hacked to look as if they were
generated with sev-guest support.
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
src/qemu/qemu_capabilities.c | 8 ++
src/qemu/qemu_capabilities.h | 1 +
.../domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 7 +-
.../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 7 +-
tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 7 +-
.../caps_2.12.0.x86_64.replies | 97 ++++++++++++----
.../caps_3.0.0.x86_64.replies | 97 ++++++++++++----
.../caps_3.1.0.x86_64.replies | 97 ++++++++++++----
.../caps_4.0.0.x86_64.replies | 97 ++++++++++++----
.../caps_4.1.0.x86_64.replies | 89 ++++++++++----
.../caps_4.2.0.x86_64.replies | 89 ++++++++++----
.../caps_5.0.0.x86_64.replies | 89 ++++++++++----
.../caps_5.1.0.x86_64.replies | 89 ++++++++++----
.../caps_5.2.0.x86_64.replies | 89 ++++++++++----
.../caps_6.0.0.x86_64.replies | 89 ++++++++++----
.../caps_6.1.0.x86_64.replies | 89 ++++++++++----
.../caps_6.2.0.x86_64.replies | 109 ++++++++++++++----
.../caps_6.2.0.x86_64.xml | 8 ++
18 files changed, 895 insertions(+), 263 deletions(-)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 456ce1b72e..fbcb67713e 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -652,6 +652,7 @@ VIR_ENUM_IMPL(virQEMUCaps,
"device.json", /* QEMU_CAPS_DEVICE_JSON */
"query-dirty-rate", /* QEMU_CAPS_QUERY_DIRTY_RATE */
"rbd-encryption", /* QEMU_CAPS_RBD_ENCRYPTION */
+ "sev-guest-kernel-hashes", /* QEMU_CAPS_SEV_GUEST_KERNEL_HASHES
*/
);
@@ -1718,6 +1719,10 @@ static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsMaxCPU[]
= {
{ "migratable", QEMU_CAPS_CPU_MIGRATABLE },
};
+static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsSEVGuest[] = {
+ { "kernel-hashes", QEMU_CAPS_SEV_GUEST_KERNEL_HASHES },
+};
+
static virQEMUCapsObjectTypeProps virQEMUCapsObjectProps[] = {
{ "memory-backend-file", virQEMUCapsObjectPropsMemoryBackendFile,
G_N_ELEMENTS(virQEMUCapsObjectPropsMemoryBackendFile),
@@ -1731,6 +1736,9 @@ static virQEMUCapsObjectTypeProps virQEMUCapsObjectProps[] = {
{ "max-arm-cpu", virQEMUCapsObjectPropsMaxCPU,
G_N_ELEMENTS(virQEMUCapsObjectPropsMaxCPU),
QEMU_CAPS_ARM_MAX_CPU },
+ { "sev-guest", virQEMUCapsObjectPropsSEVGuest,
+ G_N_ELEMENTS(virQEMUCapsObjectPropsSEVGuest),
+ QEMU_CAPS_SEV_GUEST },
};
static struct virQEMUCapsStringFlags virQEMUCapsMachinePropsPSeries[] = {
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index 716e09123c..aaac20a834 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -631,6 +631,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check
*/
QEMU_CAPS_DEVICE_JSON, /* -device accepts JSON */
QEMU_CAPS_QUERY_DIRTY_RATE, /* accepts query-dirty-rate */
QEMU_CAPS_RBD_ENCRYPTION, /* Ceph RBD encryption support */
+ QEMU_CAPS_SEV_GUEST_KERNEL_HASHES, /* sev-guest.kernel-hashes= */
QEMU_CAPS_LAST /* this must always be the last item */
} virQEMUCapsFlags;
diff --git a/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml
b/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml
index 9d68c0a404..28d4f38fef 100644
--- a/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml
@@ -225,6 +225,11 @@
<genid supported='yes'/>
<backingStoreInput supported='yes'/>
<backup supported='yes'/>
- <sev supported='no'/>
+ <sev supported='yes'>
+ <cbitpos>47</cbitpos>
+ <reducedPhysBits>1</reducedPhysBits>
+ <maxGuests>15</maxGuests>
+ <maxESGuests>0</maxESGuests>
+ </sev>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml
b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml
index 8db840faac..711a77ccd1 100644
--- a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml
@@ -231,6 +231,11 @@
<genid supported='yes'/>
<backingStoreInput supported='yes'/>
<backup supported='yes'/>
- <sev supported='no'/>
+ <sev supported='yes'>
+ <cbitpos>47</cbitpos>
+ <reducedPhysBits>1</reducedPhysBits>
+ <maxGuests>15</maxGuests>
+ <maxESGuests>0</maxESGuests>
+ </sev>
</features>
</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml
b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml
index 0f89790b60..b0fb1e11cd 100644
--- a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml
@@ -225,6 +225,11 @@
<genid supported='yes'/>
<backingStoreInput supported='yes'/>
<backup supported='yes'/>
- <sev supported='no'/>
+ <sev supported='yes'>
+ <cbitpos>47</cbitpos>
+ <reducedPhysBits>1</reducedPhysBits>
+ <maxGuests>15</maxGuests>
+ <maxESGuests>0</maxESGuests>
+ </sev>
</features>
</domainCapabilities>
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies
b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies
index 5fefbc64ab..c5bdd5398b 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies
@@ -17361,10 +17361,59 @@
}
{
- "execute": "query-machines",
+ "execute": "qom-list-properties",
+ "arguments": {
+ "typename": "sev-guest"
+ },
"id": "libvirt-40"
}
+{
+ "return": [
+ {
+ "name": "type",
+ "type": "string"
+ },
+ {
+ "name": "dh-cert-file",
+ "description": "guest owners DH certificate (encoded with
base64)",
+ "type": "string"
+ },
+ {
+ "name": "sev-device",
+ "description": "SEV device to use",
+ "type": "string"
+ },
+ {
+ "name": "session-file",
+ "description": "guest owners session parameters (encoded with
base64)",
+ "type": "string"
+ },
+ {
+ "name": "handle",
+ "type": "uint32"
+ },
+ {
+ "name": "policy",
+ "type": "uint32"
+ },
+ {
+ "name": "reduced-phys-bits",
+ "type": "uint32"
+ },
+ {
+ "name": "cbitpos",
+ "type": "uint32"
+ }
+ ],
+ "id": "libvirt-40"
+}
+
+{
+ "execute": "query-machines",
+ "id": "libvirt-41"
+}
+
{
"return": [
{
@@ -17561,7 +17610,7 @@
"cpu-max": 255
}
],
- "id": "libvirt-40"
+ "id": "libvirt-41"
}
{
@@ -17569,7 +17618,7 @@
"arguments": {
"typename": "none-machine"
},
- "id": "libvirt-41"
+ "id": "libvirt-42"
}
{
@@ -17674,12 +17723,12 @@
"type": "string"
}
],
- "id": "libvirt-41"
+ "id": "libvirt-42"
}
{
"execute": "query-cpu-definitions",
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
@@ -18193,12 +18242,12 @@
"migration-safe": true
}
],
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
"execute": "query-tpm-models",
- "id": "libvirt-43"
+ "id": "libvirt-44"
}
{
@@ -18206,12 +18255,12 @@
"tpm-crb",
"tpm-tis"
],
- "id": "libvirt-43"
+ "id": "libvirt-44"
}
{
"execute": "query-tpm-types",
- "id": "libvirt-44"
+ "id": "libvirt-45"
}
{
@@ -18219,12 +18268,12 @@
"passthrough",
"emulator"
],
- "id": "libvirt-44"
+ "id": "libvirt-45"
}
{
"execute": "query-command-line-options",
- "id": "libvirt-45"
+ "id": "libvirt-46"
}
{
@@ -19511,12 +19560,12 @@
"option": "drive"
}
],
- "id": "libvirt-45"
+ "id": "libvirt-46"
}
{
"execute": "query-migrate-capabilities",
- "id": "libvirt-46"
+ "id": "libvirt-47"
}
{
@@ -19578,12 +19627,12 @@
"capability": "dirty-bitmaps"
}
],
- "id": "libvirt-46"
+ "id": "libvirt-47"
}
{
"execute": "query-sev-capabilities",
- "id": "libvirt-47"
+ "id": "libvirt-48"
}
{
@@ -19593,7 +19642,7 @@
"cert-chain":
"AQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAA",
"pdh":
"AQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAA"
},
- "id": "libvirt-47"
+ "id": "libvirt-48"
}
{
@@ -19604,7 +19653,7 @@
"name": "host"
}
},
- "id": "libvirt-48"
+ "id": "libvirt-49"
}
{
@@ -19794,7 +19843,7 @@
}
}
},
- "id": "libvirt-48"
+ "id": "libvirt-49"
}
{
@@ -19986,7 +20035,7 @@
}
}
},
- "id": "libvirt-49"
+ "id": "libvirt-50"
}
{
@@ -20241,7 +20290,7 @@
}
}
},
- "id": "libvirt-49"
+ "id": "libvirt-50"
}
{
@@ -20255,7 +20304,7 @@
}
}
},
- "id": "libvirt-50"
+ "id": "libvirt-51"
}
{
@@ -20445,7 +20494,7 @@
}
}
},
- "id": "libvirt-50"
+ "id": "libvirt-51"
}
{
@@ -20637,7 +20686,7 @@
}
}
},
- "id": "libvirt-51"
+ "id": "libvirt-52"
}
{
@@ -20892,7 +20941,7 @@
}
}
},
- "id": "libvirt-51"
+ "id": "libvirt-52"
}
{
diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.replies
b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.replies
index a63d1d8118..bc1ff6527d 100644
--- a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.replies
@@ -18035,10 +18035,59 @@
}
{
- "execute": "query-machines",
+ "execute": "qom-list-properties",
+ "arguments": {
+ "typename": "sev-guest"
+ },
+ "id": "libvirt-40"
+}
+
+{
+ "return": [
+ {
+ "name": "type",
+ "type": "string"
+ },
+ {
+ "name": "dh-cert-file",
+ "description": "guest owners DH certificate (encoded with
base64)",
+ "type": "string"
+ },
+ {
+ "name": "sev-device",
+ "description": "SEV device to use",
+ "type": "string"
+ },
+ {
+ "name": "session-file",
+ "description": "guest owners session parameters (encoded with
base64)",
+ "type": "string"
+ },
+ {
+ "name": "handle",
+ "type": "uint32"
+ },
+ {
+ "name": "policy",
+ "type": "uint32"
+ },
+ {
+ "name": "reduced-phys-bits",
+ "type": "uint32"
+ },
+ {
+ "name": "cbitpos",
+ "type": "uint32"
+ }
+ ],
"id": "libvirt-40"
}
+{
+ "execute": "query-machines",
+ "id": "libvirt-41"
+}
+
{
"return": [
{
@@ -18245,7 +18294,7 @@
"cpu-max": 255
}
],
- "id": "libvirt-40"
+ "id": "libvirt-41"
}
{
@@ -18253,7 +18302,7 @@
"arguments": {
"typename": "none-machine"
},
- "id": "libvirt-41"
+ "id": "libvirt-42"
}
{
@@ -18358,12 +18407,12 @@
"type": "string"
}
],
- "id": "libvirt-41"
+ "id": "libvirt-42"
}
{
"execute": "query-cpu-definitions",
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
@@ -18800,12 +18849,12 @@
"migration-safe": true
}
],
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
"execute": "query-tpm-models",
- "id": "libvirt-43"
+ "id": "libvirt-44"
}
{
@@ -18813,12 +18862,12 @@
"tpm-crb",
"tpm-tis"
],
- "id": "libvirt-43"
+ "id": "libvirt-44"
}
{
"execute": "query-tpm-types",
- "id": "libvirt-44"
+ "id": "libvirt-45"
}
{
@@ -18826,12 +18875,12 @@
"passthrough",
"emulator"
],
- "id": "libvirt-44"
+ "id": "libvirt-45"
}
{
"execute": "query-command-line-options",
- "id": "libvirt-45"
+ "id": "libvirt-46"
}
{
@@ -20130,12 +20179,12 @@
"option": "drive"
}
],
- "id": "libvirt-45"
+ "id": "libvirt-46"
}
{
"execute": "query-migrate-capabilities",
- "id": "libvirt-46"
+ "id": "libvirt-47"
}
{
@@ -20205,16 +20254,16 @@
"capability": "late-block-activate"
}
],
- "id": "libvirt-46"
+ "id": "libvirt-47"
}
{
"execute": "query-sev-capabilities",
- "id": "libvirt-47"
+ "id": "libvirt-48"
}
{
- "id": "libvirt-47",
+ "id": "libvirt-48",
"error": {
"class": "GenericError",
"desc": "SEV feature is not available"
@@ -20229,7 +20278,7 @@
"name": "host"
}
},
- "id": "libvirt-48"
+ "id": "libvirt-49"
}
{
@@ -20422,7 +20471,7 @@
}
}
},
- "id": "libvirt-48"
+ "id": "libvirt-49"
}
{
@@ -20617,7 +20666,7 @@
}
}
},
- "id": "libvirt-49"
+ "id": "libvirt-50"
}
{
@@ -20880,7 +20929,7 @@
}
}
},
- "id": "libvirt-49"
+ "id": "libvirt-50"
}
{
@@ -20894,7 +20943,7 @@
}
}
},
- "id": "libvirt-50"
+ "id": "libvirt-51"
}
{
@@ -21087,7 +21136,7 @@
}
}
},
- "id": "libvirt-50"
+ "id": "libvirt-51"
}
{
@@ -21282,7 +21331,7 @@
}
}
},
- "id": "libvirt-51"
+ "id": "libvirt-52"
}
{
@@ -21545,7 +21594,7 @@
}
}
},
- "id": "libvirt-51"
+ "id": "libvirt-52"
}
{
diff --git a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.replies
b/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.replies
index d021745a06..8bec154b10 100644
--- a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.replies
@@ -18452,10 +18452,59 @@
}
{
- "execute": "query-machines",
+ "execute": "qom-list-properties",
+ "arguments": {
+ "typename": "sev-guest"
+ },
+ "id": "libvirt-40"
+}
+
+{
+ "return": [
+ {
+ "name": "type",
+ "type": "string"
+ },
+ {
+ "name": "dh-cert-file",
+ "description": "guest owners DH certificate (encoded with
base64)",
+ "type": "string"
+ },
+ {
+ "name": "sev-device",
+ "description": "SEV device to use",
+ "type": "string"
+ },
+ {
+ "name": "session-file",
+ "description": "guest owners session parameters (encoded with
base64)",
+ "type": "string"
+ },
+ {
+ "name": "handle",
+ "type": "uint32"
+ },
+ {
+ "name": "policy",
+ "type": "uint32"
+ },
+ {
+ "name": "reduced-phys-bits",
+ "type": "uint32"
+ },
+ {
+ "name": "cbitpos",
+ "type": "uint32"
+ }
+ ],
"id": "libvirt-40"
}
+{
+ "execute": "query-machines",
+ "id": "libvirt-41"
+}
+
{
"return": [
{
@@ -18672,7 +18721,7 @@
"cpu-max": 255
}
],
- "id": "libvirt-40"
+ "id": "libvirt-41"
}
{
@@ -18680,7 +18729,7 @@
"arguments": {
"typename": "none-machine"
},
- "id": "libvirt-41"
+ "id": "libvirt-42"
}
{
@@ -18785,12 +18834,12 @@
"type": "int"
}
],
- "id": "libvirt-41"
+ "id": "libvirt-42"
}
{
"execute": "query-cpu-definitions",
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
@@ -19309,12 +19358,12 @@
"migration-safe": true
}
],
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
"execute": "query-tpm-models",
- "id": "libvirt-43"
+ "id": "libvirt-44"
}
{
@@ -19322,12 +19371,12 @@
"tpm-crb",
"tpm-tis"
],
- "id": "libvirt-43"
+ "id": "libvirt-44"
}
{
"execute": "query-tpm-types",
- "id": "libvirt-44"
+ "id": "libvirt-45"
}
{
@@ -19335,12 +19384,12 @@
"passthrough",
"emulator"
],
- "id": "libvirt-44"
+ "id": "libvirt-45"
}
{
"execute": "query-command-line-options",
- "id": "libvirt-45"
+ "id": "libvirt-46"
}
{
@@ -20614,12 +20663,12 @@
"option": "drive"
}
],
- "id": "libvirt-45"
+ "id": "libvirt-46"
}
{
"execute": "query-migrate-capabilities",
- "id": "libvirt-46"
+ "id": "libvirt-47"
}
{
@@ -20689,16 +20738,16 @@
"capability": "late-block-activate"
}
],
- "id": "libvirt-46"
+ "id": "libvirt-47"
}
{
"execute": "query-sev-capabilities",
- "id": "libvirt-47"
+ "id": "libvirt-48"
}
{
- "id": "libvirt-47",
+ "id": "libvirt-48",
"error": {
"class": "GenericError",
"desc": "SEV feature is not available"
@@ -20713,7 +20762,7 @@
"name": "host"
}
},
- "id": "libvirt-48"
+ "id": "libvirt-49"
}
{
@@ -20915,7 +20964,7 @@
}
}
},
- "id": "libvirt-48"
+ "id": "libvirt-49"
}
{
@@ -21119,7 +21168,7 @@
}
}
},
- "id": "libvirt-49"
+ "id": "libvirt-50"
}
{
@@ -21394,7 +21443,7 @@
}
}
},
- "id": "libvirt-49"
+ "id": "libvirt-50"
}
{
@@ -21408,7 +21457,7 @@
}
}
},
- "id": "libvirt-50"
+ "id": "libvirt-51"
}
{
@@ -21610,7 +21659,7 @@
}
}
},
- "id": "libvirt-50"
+ "id": "libvirt-51"
}
{
@@ -21814,7 +21863,7 @@
}
}
},
- "id": "libvirt-51"
+ "id": "libvirt-52"
}
{
@@ -22089,7 +22138,7 @@
}
}
},
- "id": "libvirt-51"
+ "id": "libvirt-52"
}
{
diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.replies
b/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.replies
index 5de9457eed..8a44f5e24a 100644
--- a/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.replies
@@ -18981,10 +18981,59 @@
}
{
- "execute": "query-machines",
+ "execute": "qom-list-properties",
+ "arguments": {
+ "typename": "sev-guest"
+ },
+ "id": "libvirt-40"
+}
+
+{
+ "return": [
+ {
+ "name": "type",
+ "type": "string"
+ },
+ {
+ "name": "dh-cert-file",
+ "description": "guest owners DH certificate (encoded with
base64)",
+ "type": "string"
+ },
+ {
+ "name": "sev-device",
+ "description": "SEV device to use",
+ "type": "string"
+ },
+ {
+ "name": "session-file",
+ "description": "guest owners session parameters (encoded with
base64)",
+ "type": "string"
+ },
+ {
+ "name": "handle",
+ "type": "uint32"
+ },
+ {
+ "name": "policy",
+ "type": "uint32"
+ },
+ {
+ "name": "reduced-phys-bits",
+ "type": "uint32"
+ },
+ {
+ "name": "cbitpos",
+ "type": "uint32"
+ }
+ ],
"id": "libvirt-40"
}
+{
+ "execute": "query-machines",
+ "id": "libvirt-41"
+}
+
{
"return": [
{
@@ -19201,7 +19250,7 @@
"alias": "q35"
}
],
- "id": "libvirt-40"
+ "id": "libvirt-41"
}
{
@@ -19209,7 +19258,7 @@
"arguments": {
"typename": "none-machine"
},
- "id": "libvirt-41"
+ "id": "libvirt-42"
}
{
@@ -19314,12 +19363,12 @@
"type": "bool"
}
],
- "id": "libvirt-41"
+ "id": "libvirt-42"
}
{
"execute": "query-cpu-definitions",
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
@@ -19836,12 +19885,12 @@
"migration-safe": true
}
],
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
"execute": "query-tpm-models",
- "id": "libvirt-43"
+ "id": "libvirt-44"
}
{
@@ -19849,12 +19898,12 @@
"tpm-crb",
"tpm-tis"
],
- "id": "libvirt-43"
+ "id": "libvirt-44"
}
{
"execute": "query-tpm-types",
- "id": "libvirt-44"
+ "id": "libvirt-45"
}
{
@@ -19862,12 +19911,12 @@
"passthrough",
"emulator"
],
- "id": "libvirt-44"
+ "id": "libvirt-45"
}
{
"execute": "query-command-line-options",
- "id": "libvirt-45"
+ "id": "libvirt-46"
}
{
@@ -21149,12 +21198,12 @@
"option": "drive"
}
],
- "id": "libvirt-45"
+ "id": "libvirt-46"
}
{
"execute": "query-migrate-capabilities",
- "id": "libvirt-46"
+ "id": "libvirt-47"
}
{
@@ -21228,16 +21277,16 @@
"capability": "x-ignore-shared"
}
],
- "id": "libvirt-46"
+ "id": "libvirt-47"
}
{
"execute": "query-sev-capabilities",
- "id": "libvirt-47"
+ "id": "libvirt-48"
}
{
- "id": "libvirt-47",
+ "id": "libvirt-48",
"error": {
"class": "GenericError",
"desc": "SEV feature is not available"
@@ -21252,7 +21301,7 @@
"name": "host"
}
},
- "id": "libvirt-48"
+ "id": "libvirt-49"
}
{
@@ -21456,7 +21505,7 @@
}
}
},
- "id": "libvirt-48"
+ "id": "libvirt-49"
}
{
@@ -21662,7 +21711,7 @@
}
}
},
- "id": "libvirt-49"
+ "id": "libvirt-50"
}
{
@@ -21941,7 +21990,7 @@
}
}
},
- "id": "libvirt-49"
+ "id": "libvirt-50"
}
{
@@ -21955,7 +22004,7 @@
}
}
},
- "id": "libvirt-50"
+ "id": "libvirt-51"
}
{
@@ -22159,7 +22208,7 @@
}
}
},
- "id": "libvirt-50"
+ "id": "libvirt-51"
}
{
@@ -22365,7 +22414,7 @@
}
}
},
- "id": "libvirt-51"
+ "id": "libvirt-52"
}
{
@@ -22644,7 +22693,7 @@
}
}
},
- "id": "libvirt-51"
+ "id": "libvirt-52"
}
{
diff --git a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.replies
b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.replies
index 0dadabf948..7d5ef93f16 100644
--- a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.replies
@@ -19441,10 +19441,59 @@
}
{
- "execute": "query-machines",
+ "execute": "qom-list-properties",
+ "arguments": {
+ "typename": "sev-guest"
+ },
"id": "libvirt-40"
}
+{
+ "return": [
+ {
+ "name": "type",
+ "type": "string"
+ },
+ {
+ "name": "dh-cert-file",
+ "description": "guest owners DH certificate (encoded with
base64)",
+ "type": "string"
+ },
+ {
+ "name": "sev-device",
+ "description": "SEV device to use",
+ "type": "string"
+ },
+ {
+ "name": "session-file",
+ "description": "guest owners session parameters (encoded with
base64)",
+ "type": "string"
+ },
+ {
+ "name": "handle",
+ "type": "uint32"
+ },
+ {
+ "name": "policy",
+ "type": "uint32"
+ },
+ {
+ "name": "reduced-phys-bits",
+ "type": "uint32"
+ },
+ {
+ "name": "cbitpos",
+ "type": "uint32"
+ }
+ ],
+ "id": "libvirt-40"
+}
+
+{
+ "execute": "query-machines",
+ "id": "libvirt-41"
+}
+
{
"return": [
{
@@ -19766,7 +19815,7 @@
"deprecated": false
}
],
- "id": "libvirt-40"
+ "id": "libvirt-41"
}
{
@@ -19774,7 +19823,7 @@
"arguments": {
"typename": "none-machine"
},
- "id": "libvirt-41"
+ "id": "libvirt-42"
}
{
@@ -19879,12 +19928,12 @@
"type": "bool"
}
],
- "id": "libvirt-41"
+ "id": "libvirt-42"
}
{
"execute": "query-cpu-definitions",
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
@@ -21029,12 +21078,12 @@
"migration-safe": true
}
],
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
"execute": "query-tpm-models",
- "id": "libvirt-43"
+ "id": "libvirt-44"
}
{
@@ -21042,12 +21091,12 @@
"tpm-crb",
"tpm-tis"
],
- "id": "libvirt-43"
+ "id": "libvirt-44"
}
{
"execute": "query-tpm-types",
- "id": "libvirt-44"
+ "id": "libvirt-45"
}
{
@@ -21055,12 +21104,12 @@
"passthrough",
"emulator"
],
- "id": "libvirt-44"
+ "id": "libvirt-45"
}
{
"execute": "query-command-line-options",
- "id": "libvirt-45"
+ "id": "libvirt-46"
}
{
@@ -22334,12 +22383,12 @@
"option": "drive"
}
],
- "id": "libvirt-45"
+ "id": "libvirt-46"
}
{
"execute": "query-migrate-capabilities",
- "id": "libvirt-46"
+ "id": "libvirt-47"
}
{
@@ -22413,16 +22462,16 @@
"capability": "x-ignore-shared"
}
],
- "id": "libvirt-46"
+ "id": "libvirt-47"
}
{
"execute": "query-sev-capabilities",
- "id": "libvirt-47"
+ "id": "libvirt-48"
}
{
- "id": "libvirt-47",
+ "id": "libvirt-48",
"error": {
"class": "GenericError",
"desc": "SEV feature is not available"
@@ -22437,7 +22486,7 @@
"name": "host"
}
},
- "id": "libvirt-48"
+ "id": "libvirt-49"
}
{
@@ -22645,7 +22694,7 @@
}
}
},
- "id": "libvirt-48"
+ "id": "libvirt-49"
}
{
@@ -22659,7 +22708,7 @@
}
}
},
- "id": "libvirt-49"
+ "id": "libvirt-50"
}
{
@@ -22867,7 +22916,7 @@
}
}
},
- "id": "libvirt-49"
+ "id": "libvirt-50"
}
{
diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.replies
b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.replies
index cd7a5c345c..e7aae333ec 100644
--- a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.replies
@@ -20483,10 +20483,59 @@
}
{
- "execute": "query-machines",
+ "execute": "qom-list-properties",
+ "arguments": {
+ "typename": "sev-guest"
+ },
"id": "libvirt-41"
}
+{
+ "return": [
+ {
+ "name": "type",
+ "type": "string"
+ },
+ {
+ "name": "dh-cert-file",
+ "description": "guest owners DH certificate (encoded with
base64)",
+ "type": "string"
+ },
+ {
+ "name": "sev-device",
+ "description": "SEV device to use",
+ "type": "string"
+ },
+ {
+ "name": "session-file",
+ "description": "guest owners session parameters (encoded with
base64)",
+ "type": "string"
+ },
+ {
+ "name": "handle",
+ "type": "uint32"
+ },
+ {
+ "name": "policy",
+ "type": "uint32"
+ },
+ {
+ "name": "reduced-phys-bits",
+ "type": "uint32"
+ },
+ {
+ "name": "cbitpos",
+ "type": "uint32"
+ }
+ ],
+ "id": "libvirt-41"
+}
+
+{
+ "execute": "query-machines",
+ "id": "libvirt-42"
+}
+
{
"return": [
{
@@ -20876,7 +20925,7 @@
"deprecated": false
}
],
- "id": "libvirt-41"
+ "id": "libvirt-42"
}
{
@@ -20884,7 +20933,7 @@
"arguments": {
"typename": "none-machine"
},
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
@@ -20989,12 +21038,12 @@
"type": "bool"
}
],
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
"execute": "query-cpu-definitions",
- "id": "libvirt-43"
+ "id": "libvirt-44"
}
{
@@ -22377,12 +22426,12 @@
"migration-safe": true
}
],
- "id": "libvirt-43"
+ "id": "libvirt-44"
}
{
"execute": "query-tpm-models",
- "id": "libvirt-44"
+ "id": "libvirt-45"
}
{
@@ -22390,12 +22439,12 @@
"tpm-crb",
"tpm-tis"
],
- "id": "libvirt-44"
+ "id": "libvirt-45"
}
{
"execute": "query-tpm-types",
- "id": "libvirt-45"
+ "id": "libvirt-46"
}
{
@@ -22403,12 +22452,12 @@
"passthrough",
"emulator"
],
- "id": "libvirt-45"
+ "id": "libvirt-46"
}
{
"execute": "query-command-line-options",
- "id": "libvirt-46"
+ "id": "libvirt-47"
}
{
@@ -23694,12 +23743,12 @@
"option": "drive"
}
],
- "id": "libvirt-46"
+ "id": "libvirt-47"
}
{
"execute": "query-migrate-capabilities",
- "id": "libvirt-47"
+ "id": "libvirt-48"
}
{
@@ -23777,16 +23826,16 @@
"capability": "validate-uuid"
}
],
- "id": "libvirt-47"
+ "id": "libvirt-48"
}
{
"execute": "query-sev-capabilities",
- "id": "libvirt-48"
+ "id": "libvirt-49"
}
{
- "id": "libvirt-48",
+ "id": "libvirt-49",
"error": {
"class": "GenericError",
"desc": "SEV feature is not available"
@@ -23801,7 +23850,7 @@
"name": "host"
}
},
- "id": "libvirt-49"
+ "id": "libvirt-50"
}
{
@@ -24103,7 +24152,7 @@
}
}
},
- "id": "libvirt-49"
+ "id": "libvirt-50"
}
{
@@ -24117,7 +24166,7 @@
}
}
},
- "id": "libvirt-50"
+ "id": "libvirt-51"
}
{
@@ -24419,7 +24468,7 @@
}
}
},
- "id": "libvirt-50"
+ "id": "libvirt-51"
}
{
diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.replies
b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.replies
index ad6ee05ba6..7657e7047d 100644
--- a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.replies
@@ -21808,10 +21808,59 @@
}
{
- "execute": "query-machines",
+ "execute": "qom-list-properties",
+ "arguments": {
+ "typename": "sev-guest"
+ },
"id": "libvirt-41"
}
+{
+ "return": [
+ {
+ "name": "type",
+ "type": "string"
+ },
+ {
+ "name": "dh-cert-file",
+ "description": "guest owners DH certificate (encoded with
base64)",
+ "type": "string"
+ },
+ {
+ "name": "sev-device",
+ "description": "SEV device to use",
+ "type": "string"
+ },
+ {
+ "name": "session-file",
+ "description": "guest owners session parameters (encoded with
base64)",
+ "type": "string"
+ },
+ {
+ "name": "handle",
+ "type": "uint32"
+ },
+ {
+ "name": "policy",
+ "type": "uint32"
+ },
+ {
+ "name": "reduced-phys-bits",
+ "type": "uint32"
+ },
+ {
+ "name": "cbitpos",
+ "type": "uint32"
+ }
+ ],
+ "id": "libvirt-41"
+}
+
+{
+ "execute": "query-machines",
+ "id": "libvirt-42"
+}
+
{
"return": [
{
@@ -22185,7 +22234,7 @@
"deprecated": false
}
],
- "id": "libvirt-41"
+ "id": "libvirt-42"
}
{
@@ -22193,7 +22242,7 @@
"arguments": {
"typename": "none-machine"
},
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
@@ -22283,12 +22332,12 @@
"type": "string"
}
],
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
"execute": "query-cpu-definitions",
- "id": "libvirt-43"
+ "id": "libvirt-44"
}
{
@@ -23833,12 +23882,12 @@
"migration-safe": true
}
],
- "id": "libvirt-43"
+ "id": "libvirt-44"
}
{
"execute": "query-tpm-models",
- "id": "libvirt-44"
+ "id": "libvirt-45"
}
{
@@ -23846,12 +23895,12 @@
"tpm-crb",
"tpm-tis"
],
- "id": "libvirt-44"
+ "id": "libvirt-45"
}
{
"execute": "query-tpm-types",
- "id": "libvirt-45"
+ "id": "libvirt-46"
}
{
@@ -23859,12 +23908,12 @@
"passthrough",
"emulator"
],
- "id": "libvirt-45"
+ "id": "libvirt-46"
}
{
"execute": "query-command-line-options",
- "id": "libvirt-46"
+ "id": "libvirt-47"
}
{
@@ -25140,12 +25189,12 @@
"option": "drive"
}
],
- "id": "libvirt-46"
+ "id": "libvirt-47"
}
{
"execute": "query-migrate-capabilities",
- "id": "libvirt-47"
+ "id": "libvirt-48"
}
{
@@ -25223,16 +25272,16 @@
"capability": "validate-uuid"
}
],
- "id": "libvirt-47"
+ "id": "libvirt-48"
}
{
"execute": "query-sev-capabilities",
- "id": "libvirt-48"
+ "id": "libvirt-49"
}
{
- "id": "libvirt-48",
+ "id": "libvirt-49",
"error": {
"class": "GenericError",
"desc": "SEV feature is not available"
@@ -25247,7 +25296,7 @@
"name": "host"
}
},
- "id": "libvirt-49"
+ "id": "libvirt-50"
}
{
@@ -25550,7 +25599,7 @@
}
}
},
- "id": "libvirt-49"
+ "id": "libvirt-50"
}
{
@@ -25564,7 +25613,7 @@
}
}
},
- "id": "libvirt-50"
+ "id": "libvirt-51"
}
{
@@ -25867,7 +25916,7 @@
}
}
},
- "id": "libvirt-50"
+ "id": "libvirt-51"
}
{
diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.replies
b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.replies
index b8f3c79026..82f6de7e7e 100644
--- a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.replies
@@ -22375,10 +22375,59 @@
}
{
- "execute": "query-machines",
+ "execute": "qom-list-properties",
+ "arguments": {
+ "typename": "sev-guest"
+ },
"id": "libvirt-41"
}
+{
+ "return": [
+ {
+ "name": "type",
+ "type": "string"
+ },
+ {
+ "name": "dh-cert-file",
+ "description": "guest owners DH certificate (encoded with
base64)",
+ "type": "string"
+ },
+ {
+ "name": "sev-device",
+ "description": "SEV device to use",
+ "type": "string"
+ },
+ {
+ "name": "session-file",
+ "description": "guest owners session parameters (encoded with
base64)",
+ "type": "string"
+ },
+ {
+ "name": "handle",
+ "type": "uint32"
+ },
+ {
+ "name": "policy",
+ "type": "uint32"
+ },
+ {
+ "name": "reduced-phys-bits",
+ "type": "uint32"
+ },
+ {
+ "name": "cbitpos",
+ "type": "uint32"
+ }
+ ],
+ "id": "libvirt-41"
+}
+
+{
+ "execute": "query-machines",
+ "id": "libvirt-42"
+}
+
{
"return": [
{
@@ -22768,7 +22817,7 @@
"deprecated": false
}
],
- "id": "libvirt-41"
+ "id": "libvirt-42"
}
{
@@ -22776,7 +22825,7 @@
"arguments": {
"typename": "none-machine"
},
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
@@ -22866,12 +22915,12 @@
"type": "string"
}
],
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
"execute": "query-cpu-definitions",
- "id": "libvirt-43"
+ "id": "libvirt-44"
}
{
@@ -24573,12 +24622,12 @@
"migration-safe": true
}
],
- "id": "libvirt-43"
+ "id": "libvirt-44"
}
{
"execute": "query-tpm-models",
- "id": "libvirt-44"
+ "id": "libvirt-45"
}
{
@@ -24586,12 +24635,12 @@
"tpm-crb",
"tpm-tis"
],
- "id": "libvirt-44"
+ "id": "libvirt-45"
}
{
"execute": "query-tpm-types",
- "id": "libvirt-45"
+ "id": "libvirt-46"
}
{
@@ -24599,12 +24648,12 @@
"passthrough",
"emulator"
],
- "id": "libvirt-45"
+ "id": "libvirt-46"
}
{
"execute": "query-command-line-options",
- "id": "libvirt-46"
+ "id": "libvirt-47"
}
{
@@ -25899,12 +25948,12 @@
"option": "drive"
}
],
- "id": "libvirt-46"
+ "id": "libvirt-47"
}
{
"execute": "query-migrate-capabilities",
- "id": "libvirt-47"
+ "id": "libvirt-48"
}
{
@@ -25982,16 +26031,16 @@
"capability": "validate-uuid"
}
],
- "id": "libvirt-47"
+ "id": "libvirt-48"
}
{
"execute": "query-sev-capabilities",
- "id": "libvirt-48"
+ "id": "libvirt-49"
}
{
- "id": "libvirt-48",
+ "id": "libvirt-49",
"error": {
"class": "GenericError",
"desc": "SEV is not enabled in KVM"
@@ -26006,7 +26055,7 @@
"name": "host"
}
},
- "id": "libvirt-49"
+ "id": "libvirt-50"
}
{
@@ -26314,7 +26363,7 @@
}
}
},
- "id": "libvirt-49"
+ "id": "libvirt-50"
}
{
@@ -26328,7 +26377,7 @@
}
}
},
- "id": "libvirt-50"
+ "id": "libvirt-51"
}
{
@@ -26636,7 +26685,7 @@
}
}
},
- "id": "libvirt-50"
+ "id": "libvirt-51"
}
{
diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.replies
b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.replies
index 54d8db5904..89f0270e27 100644
--- a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.replies
@@ -22982,10 +22982,59 @@
}
{
- "execute": "query-machines",
+ "execute": "qom-list-properties",
+ "arguments": {
+ "typename": "sev-guest"
+ },
"id": "libvirt-41"
}
+{
+ "return": [
+ {
+ "name": "type",
+ "type": "string"
+ },
+ {
+ "name": "dh-cert-file",
+ "description": "guest owners DH certificate (encoded with
base64)",
+ "type": "string"
+ },
+ {
+ "name": "sev-device",
+ "description": "SEV device to use",
+ "type": "string"
+ },
+ {
+ "name": "session-file",
+ "description": "guest owners session parameters (encoded with
base64)",
+ "type": "string"
+ },
+ {
+ "name": "handle",
+ "type": "uint32"
+ },
+ {
+ "name": "policy",
+ "type": "uint32"
+ },
+ {
+ "name": "reduced-phys-bits",
+ "type": "uint32"
+ },
+ {
+ "name": "cbitpos",
+ "type": "uint32"
+ }
+ ],
+ "id": "libvirt-41"
+}
+
+{
+ "execute": "query-machines",
+ "id": "libvirt-42"
+}
+
{
"return": [
{
@@ -23441,7 +23490,7 @@
"default-ram-id": "pc.ram"
}
],
- "id": "libvirt-41"
+ "id": "libvirt-42"
}
{
@@ -23449,7 +23498,7 @@
"arguments": {
"typename": "none-machine"
},
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
@@ -23534,12 +23583,12 @@
"type": "string"
}
],
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
"execute": "query-cpu-definitions",
- "id": "libvirt-43"
+ "id": "libvirt-44"
}
{
@@ -25364,12 +25413,12 @@
"deprecated": false
}
],
- "id": "libvirt-43"
+ "id": "libvirt-44"
}
{
"execute": "query-tpm-models",
- "id": "libvirt-44"
+ "id": "libvirt-45"
}
{
@@ -25377,12 +25426,12 @@
"tpm-crb",
"tpm-tis"
],
- "id": "libvirt-44"
+ "id": "libvirt-45"
}
{
"execute": "query-tpm-types",
- "id": "libvirt-45"
+ "id": "libvirt-46"
}
{
@@ -25390,12 +25439,12 @@
"passthrough",
"emulator"
],
- "id": "libvirt-45"
+ "id": "libvirt-46"
}
{
"execute": "query-command-line-options",
- "id": "libvirt-46"
+ "id": "libvirt-47"
}
{
@@ -26690,12 +26739,12 @@
"option": "drive"
}
],
- "id": "libvirt-46"
+ "id": "libvirt-47"
}
{
"execute": "query-migrate-capabilities",
- "id": "libvirt-47"
+ "id": "libvirt-48"
}
{
@@ -26773,16 +26822,16 @@
"capability": "validate-uuid"
}
],
- "id": "libvirt-47"
+ "id": "libvirt-48"
}
{
"execute": "query-sev-capabilities",
- "id": "libvirt-48"
+ "id": "libvirt-49"
}
{
- "id": "libvirt-48",
+ "id": "libvirt-49",
"error": {
"class": "GenericError",
"desc": "SEV is not enabled in KVM"
@@ -26797,7 +26846,7 @@
"name": "host"
}
},
- "id": "libvirt-49"
+ "id": "libvirt-50"
}
{
@@ -27106,7 +27155,7 @@
}
}
},
- "id": "libvirt-49"
+ "id": "libvirt-50"
}
{
@@ -27120,7 +27169,7 @@
}
}
},
- "id": "libvirt-50"
+ "id": "libvirt-51"
}
{
@@ -27429,7 +27478,7 @@
}
}
},
- "id": "libvirt-50"
+ "id": "libvirt-51"
}
{
diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.replies
b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.replies
index 986bb56630..6cda5538a5 100644
--- a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.replies
@@ -24796,10 +24796,59 @@
}
{
- "execute": "query-machines",
+ "execute": "qom-list-properties",
+ "arguments": {
+ "typename": "sev-guest"
+ },
"id": "libvirt-41"
}
+{
+ "return": [
+ {
+ "name": "type",
+ "type": "string"
+ },
+ {
+ "name": "dh-cert-file",
+ "description": "guest owners DH certificate (encoded with
base64)",
+ "type": "string"
+ },
+ {
+ "name": "sev-device",
+ "description": "SEV device to use",
+ "type": "string"
+ },
+ {
+ "name": "session-file",
+ "description": "guest owners session parameters (encoded with
base64)",
+ "type": "string"
+ },
+ {
+ "name": "handle",
+ "type": "uint32"
+ },
+ {
+ "name": "policy",
+ "type": "uint32"
+ },
+ {
+ "name": "reduced-phys-bits",
+ "type": "uint32"
+ },
+ {
+ "name": "cbitpos",
+ "type": "uint32"
+ }
+ ],
+ "id": "libvirt-41"
+}
+
+{
+ "execute": "query-machines",
+ "id": "libvirt-42"
+}
+
{
"return": [
{
@@ -25244,7 +25293,7 @@
"default-ram-id": "pc.ram"
}
],
- "id": "libvirt-41"
+ "id": "libvirt-42"
}
{
@@ -25252,7 +25301,7 @@
"arguments": {
"typename": "none-machine"
},
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
@@ -25350,12 +25399,12 @@
"type": "child<container>"
}
],
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
"execute": "query-cpu-definitions",
- "id": "libvirt-43"
+ "id": "libvirt-44"
}
{
@@ -27223,12 +27272,12 @@
"deprecated": false
}
],
- "id": "libvirt-43"
+ "id": "libvirt-44"
}
{
"execute": "query-tpm-models",
- "id": "libvirt-44"
+ "id": "libvirt-45"
}
{
@@ -27236,12 +27285,12 @@
"tpm-crb",
"tpm-tis"
],
- "id": "libvirt-44"
+ "id": "libvirt-45"
}
{
"execute": "query-tpm-types",
- "id": "libvirt-45"
+ "id": "libvirt-46"
}
{
@@ -27249,12 +27298,12 @@
"passthrough",
"emulator"
],
- "id": "libvirt-45"
+ "id": "libvirt-46"
}
{
"execute": "query-command-line-options",
- "id": "libvirt-46"
+ "id": "libvirt-47"
}
{
@@ -28573,12 +28622,12 @@
"option": "drive"
}
],
- "id": "libvirt-46"
+ "id": "libvirt-47"
}
{
"execute": "query-migrate-capabilities",
- "id": "libvirt-47"
+ "id": "libvirt-48"
}
{
@@ -28660,12 +28709,12 @@
"capability": "background-snapshot"
}
],
- "id": "libvirt-47"
+ "id": "libvirt-48"
}
{
"execute": "query-sev-capabilities",
- "id": "libvirt-48"
+ "id": "libvirt-49"
}
{
@@ -28675,7 +28724,7 @@
"cert-chain":
"AQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAA",
"pdh":
"AQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAA"
},
- "id": "libvirt-48"
+ "id": "libvirt-49"
}
{
@@ -28686,7 +28735,7 @@
"name": "host"
}
},
- "id": "libvirt-49"
+ "id": "libvirt-50"
}
{
@@ -29007,7 +29056,7 @@
}
}
},
- "id": "libvirt-49"
+ "id": "libvirt-50"
}
{
@@ -29021,7 +29070,7 @@
}
}
},
- "id": "libvirt-50"
+ "id": "libvirt-51"
}
{
@@ -29342,7 +29391,7 @@
}
}
},
- "id": "libvirt-50"
+ "id": "libvirt-51"
}
{
diff --git a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.replies
b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.replies
index 92feb723e6..694f0c64b2 100644
--- a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.replies
@@ -25060,10 +25060,59 @@
}
{
- "execute": "query-machines",
+ "execute": "qom-list-properties",
+ "arguments": {
+ "typename": "sev-guest"
+ },
"id": "libvirt-41"
}
+{
+ "return": [
+ {
+ "name": "type",
+ "type": "string"
+ },
+ {
+ "name": "dh-cert-file",
+ "description": "guest owners DH certificate (encoded with
base64)",
+ "type": "string"
+ },
+ {
+ "name": "sev-device",
+ "description": "SEV device to use",
+ "type": "string"
+ },
+ {
+ "name": "session-file",
+ "description": "guest owners session parameters (encoded with
base64)",
+ "type": "string"
+ },
+ {
+ "name": "handle",
+ "type": "uint32"
+ },
+ {
+ "name": "policy",
+ "type": "uint32"
+ },
+ {
+ "name": "reduced-phys-bits",
+ "type": "uint32"
+ },
+ {
+ "name": "cbitpos",
+ "type": "uint32"
+ }
+ ],
+ "id": "libvirt-41"
+}
+
+{
+ "execute": "query-machines",
+ "id": "libvirt-42"
+}
+
{
"return": [
{
@@ -25526,7 +25575,7 @@
"default-ram-id": "pc.ram"
}
],
- "id": "libvirt-41"
+ "id": "libvirt-42"
}
{
@@ -25534,7 +25583,7 @@
"arguments": {
"typename": "none-machine"
},
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
@@ -25637,12 +25686,12 @@
"type": "child<container>"
}
],
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
"execute": "query-cpu-definitions",
- "id": "libvirt-43"
+ "id": "libvirt-44"
}
{
@@ -27699,12 +27748,12 @@
"deprecated": false
}
],
- "id": "libvirt-43"
+ "id": "libvirt-44"
}
{
"execute": "query-tpm-models",
- "id": "libvirt-44"
+ "id": "libvirt-45"
}
{
@@ -27712,12 +27761,12 @@
"tpm-crb",
"tpm-tis"
],
- "id": "libvirt-44"
+ "id": "libvirt-45"
}
{
"execute": "query-tpm-types",
- "id": "libvirt-45"
+ "id": "libvirt-46"
}
{
@@ -27725,12 +27774,12 @@
"passthrough",
"emulator"
],
- "id": "libvirt-45"
+ "id": "libvirt-46"
}
{
"execute": "query-command-line-options",
- "id": "libvirt-46"
+ "id": "libvirt-47"
}
{
@@ -29062,12 +29111,12 @@
"option": "drive"
}
],
- "id": "libvirt-46"
+ "id": "libvirt-47"
}
{
"execute": "query-migrate-capabilities",
- "id": "libvirt-47"
+ "id": "libvirt-48"
}
{
@@ -29149,16 +29198,16 @@
"capability": "background-snapshot"
}
],
- "id": "libvirt-47"
+ "id": "libvirt-48"
}
{
"execute": "query-sev-capabilities",
- "id": "libvirt-48"
+ "id": "libvirt-49"
}
{
- "id": "libvirt-48",
+ "id": "libvirt-49",
"error": {
"class": "GenericError",
"desc": "Failed to open /dev/sev: No such file or directory"
@@ -29173,7 +29222,7 @@
"name": "host"
}
},
- "id": "libvirt-49"
+ "id": "libvirt-50"
}
{
@@ -29496,7 +29545,7 @@
}
}
},
- "id": "libvirt-49"
+ "id": "libvirt-50"
}
{
@@ -29510,7 +29559,7 @@
}
}
},
- "id": "libvirt-50"
+ "id": "libvirt-51"
}
{
@@ -29833,7 +29882,7 @@
}
}
},
- "id": "libvirt-50"
+ "id": "libvirt-51"
}
{
diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.replies
b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.replies
index 69d3b1b12a..71f325f921 100644
--- a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.replies
@@ -13315,6 +13315,11 @@
{
"name": "reduced-phys-bits",
"type": "int"
+ },
+ {
+ "name": "kernel-hashes",
+ "default": null,
+ "type": "bool"
}
],
"meta-type": "object"
@@ -28022,10 +28027,64 @@
}
{
- "execute": "query-machines",
+ "execute": "qom-list-properties",
+ "arguments": {
+ "typename": "sev-guest"
+ },
"id": "libvirt-41"
}
+{
+ "return": [
+ {
+ "name": "type",
+ "type": "string"
+ },
+ {
+ "name": "dh-cert-file",
+ "description": "guest owners DH certificate (encoded with
base64)",
+ "type": "string"
+ },
+ {
+ "name": "sev-device",
+ "description": "SEV device to use",
+ "type": "string"
+ },
+ {
+ "name": "session-file",
+ "description": "guest owners session parameters (encoded with
base64)",
+ "type": "string"
+ },
+ {
+ "name": "kernel-hashes",
+ "description": "add kernel hashes to guest firmware for measured
Linux boot",
+ "type": "bool"
+ },
+ {
+ "name": "handle",
+ "type": "uint32"
+ },
+ {
+ "name": "policy",
+ "type": "uint32"
+ },
+ {
+ "name": "reduced-phys-bits",
+ "type": "uint32"
+ },
+ {
+ "name": "cbitpos",
+ "type": "uint32"
+ }
+ ],
+ "id": "libvirt-41"
+}
+
+{
+ "execute": "query-machines",
+ "id": "libvirt-42"
+}
+
{
"return": [
{
@@ -28506,7 +28565,7 @@
"default-ram-id": "pc.ram"
}
],
- "id": "libvirt-41"
+ "id": "libvirt-42"
}
{
@@ -28514,7 +28573,7 @@
"arguments": {
"typename": "none-machine"
},
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
@@ -28617,12 +28676,12 @@
"type": "child<container>"
}
],
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
"execute": "query-cpu-definitions",
- "id": "libvirt-43"
+ "id": "libvirt-44"
}
{
@@ -30692,12 +30751,12 @@
"deprecated": false
}
],
- "id": "libvirt-43"
+ "id": "libvirt-44"
}
{
"execute": "query-tpm-models",
- "id": "libvirt-44"
+ "id": "libvirt-45"
}
{
@@ -30705,12 +30764,12 @@
"tpm-crb",
"tpm-tis"
],
- "id": "libvirt-44"
+ "id": "libvirt-45"
}
{
"execute": "query-tpm-types",
- "id": "libvirt-45"
+ "id": "libvirt-46"
}
{
@@ -30718,12 +30777,12 @@
"passthrough",
"emulator"
],
- "id": "libvirt-45"
+ "id": "libvirt-46"
}
{
"execute": "query-command-line-options",
- "id": "libvirt-46"
+ "id": "libvirt-47"
}
{
@@ -32055,12 +32114,12 @@
"option": "drive"
}
],
- "id": "libvirt-46"
+ "id": "libvirt-47"
}
{
"execute": "query-migrate-capabilities",
- "id": "libvirt-47"
+ "id": "libvirt-48"
}
{
@@ -32142,20 +32201,22 @@
"capability": "background-snapshot"
}
],
- "id": "libvirt-47"
+ "id": "libvirt-48"
}
{
"execute": "query-sev-capabilities",
- "id": "libvirt-48"
+ "id": "libvirt-49"
}
{
- "id": "libvirt-48",
- "error": {
- "class": "GenericError",
- "desc": "SEV: Failed to open /dev/sev: No such file or
directory"
- }
+ "return": {
+ "reduced-phys-bits": 1,
+ "cbitpos": 47,
+ "cert-chain":
"AQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAA",
+ "pdh":
"AQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAA"
+ },
+ "id": "libvirt-49"
}
{
@@ -32166,7 +32227,7 @@
"name": "host"
}
},
- "id": "libvirt-49"
+ "id": "libvirt-50"
}
{
@@ -32499,7 +32560,7 @@
}
}
},
- "id": "libvirt-49"
+ "id": "libvirt-50"
}
{
@@ -32513,7 +32574,7 @@
}
}
},
- "id": "libvirt-50"
+ "id": "libvirt-51"
}
{
@@ -32846,7 +32907,7 @@
}
}
},
- "id": "libvirt-50"
+ "id": "libvirt-51"
}
{
diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml
b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml
index 39179916c5..73ab031931 100644
--- a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml
@@ -154,6 +154,7 @@
<flag name='tpm-emulator'/>
<flag name='mch'/>
<flag name='mch.extended-tseg-mbytes'/>
+ <flag name='sev-guest'/>
<flag name='usb-storage.werror'/>
<flag name='egl-headless'/>
<flag name='vfio-pci.display'/>
@@ -240,6 +241,7 @@
<flag name='device.json'/>
<flag name='query-dirty-rate'/>
<flag name='rbd-encryption'/>
+ <flag name='sev-guest-kernel-hashes'/>
<version>6001050</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100244</microcodeVersion>
@@ -3710,4 +3712,10 @@
<machine type='tcg' name='pc-q35-2.5' hotplugCpus='yes'
maxCpus='255' defaultCPU='qemu64-x86_64-cpu'
numaMemSupported='yes' defaultRAMid='pc.ram'/>
<machine type='tcg' name='pc-i440fx-3.0' hotplugCpus='yes'
maxCpus='255' defaultCPU='qemu64-x86_64-cpu'
numaMemSupported='yes' defaultRAMid='pc.ram'/>
<machine type='tcg' name='pc-q35-2.11' hotplugCpus='yes'
maxCpus='288' defaultCPU='qemu64-x86_64-cpu'
numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <sev>
+ <cbitpos>47</cbitpos>
+ <reducedPhysBits>1</reducedPhysBits>
+
<pdh>AQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAA</pdh>
+
<certChain>AQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAA</certChain>
+ </sev>
</qemuCaps>
--
2.33.1