diff --git a/src/conf/domain_capabilities.c b/src/conf/domain_capabilities.c index f390ad9fef2e66274399c399e1713cb44a7cf548..4a83777e9c4cb402449074d14f3a7eb5a35c1271 100644 --- a/src/conf/domain_capabilities.c +++ b/src/conf/domain_capabilities.c @@ -762,6 +762,7 @@ virDomainCapsFormatFeatures(const virDomainCaps *caps, virDomainCapsFeatureSEVFormat(&childBuf, caps->sev); virDomainCapsFeatureSGXFormat(&childBuf, caps->sgx); virDomainCapsFeatureHypervFormat(&childBuf, caps->hyperv); + virDomainCapsFeatureVIRTCCAFormat(&childBuf, caps->virtcca); virXMLFormatElement(buf, "features", NULL, &childBuf); } diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index e19e5a87c517ed8bbc922a711418643a6d54be2e..45b5248e28d495e5770ee207e909746a2243f0e6 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -699,7 +699,7 @@ VIR_ENUM_IMPL(virQEMUCaps, "run-with.async-teardown", /* QEMU_CAPS_RUN_WITH_ASYNC_TEARDOWN */ "virtio-blk-vhost-vdpa", /* QEMU_CAPS_DEVICE_VIRTIO_BLK_VHOST_VDPA */ "smp-clusters", /* QEMU_CAPS_SMP_CLUSTERS */ - "virtcca", /* QEMU_CAPS_VIRTCCA */ + "tmm-guest", /* QEMU_CAPS_VIRTCCA */ ); @@ -1390,7 +1390,7 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[] = { { "virtio-crypto-device", QEMU_CAPS_DEVICE_VIRTIO_CRYPTO }, { "cryptodev-backend-lkcf", QEMU_CAPS_OBJECT_CRYPTO_LKCF }, { "pvpanic-pci", QEMU_CAPS_DEVICE_PANIC_PCI }, - { "virtcca", QEMU_CAPS_VIRTCCA }, + { "tmm-guest", QEMU_CAPS_VIRTCCA }, }; diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 32ac2573e6edfe13f39cced136050a8769975d5e..0d70183027d2533e353f0c5afa1c949c7ecf3291 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -678,7 +678,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */ QEMU_CAPS_RUN_WITH_ASYNC_TEARDOWN, /* asynchronous teardown -run-with async-teardown=on|off */ QEMU_CAPS_DEVICE_VIRTIO_BLK_VHOST_VDPA, /* virtio-blk-vhost-vdpa block driver */ QEMU_CAPS_SMP_CLUSTERS, /* -smp clusters= */ - QEMU_CAPS_VIRTCCA, /* kvm-type=cvm */ + QEMU_CAPS_VIRTCCA, /* tmm-guest */ QEMU_CAPS_LAST /* this must always be the last item */ } virQEMUCapsFlags; diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 6c57a797771614e8b3e6a6c81d6f3615a82c63c1..6c6e18da50dee65d3e41aa6da5348d35022dece5 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -850,7 +850,7 @@ int qemuMonitorGetSGXCapabilities(qemuMonitor *mon, virSGXCapability **capabilities); int qemuMonitorGetVIRTCCACapabilities(qemuMonitor *mon, - virVIRTCCACapability **capabilities) + virVIRTCCACapability **capabilities); typedef enum { QEMU_MONITOR_MIGRATE_RESUME = 1 << 0, /* resume failed post-copy migration */ diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index 6fc6afea30c564cf7a3206e3725fe3c83c36fa35..e00768c3e563aff020143957e6a31e3446d5ea59 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -6166,12 +6166,9 @@ qemuMonitorJSONGetVIRTCCACapabilities(qemuMonitor *mon, if (qemuMonitorJSONCommand(mon, cmd, &reply) < 0) return -1; - /* QEMU has only compiled-in support of VIRTCCA */ - if (qemuMonitorJSONHasError(reply, "GenericError")) - return 0; - + /* QEMU not support VIRTCCA */ if (qemuMonitorJSONCheckError(cmd, reply) < 0) - return -1; + return 0; caps = virJSONValueObjectGetObject(reply, "return"); diff --git a/src/qemu/qemu_monitor_json.h b/src/qemu/qemu_monitor_json.h index 8f5c25d015cd79751e585fec874d498f72b61b9b..2e0f2e2594299af28f97763db147393eb00e5146 100644 --- a/src/qemu/qemu_monitor_json.h +++ b/src/qemu/qemu_monitor_json.h @@ -170,7 +170,7 @@ qemuMonitorJSONGetSEVCapabilities(qemuMonitor *mon, int qemuMonitorJSONGetVIRTCCACapabilities(qemuMonitor *mon, - virVIRTCCACapability **capabilities) + virVIRTCCACapability **capabilities); int qemuMonitorJSONMigrate(qemuMonitor *mon,