On 9/8/20 1:21 PM, Ján Tomko wrote:
On a Tuesday in 2020, Michal Privoznik wrote:
> This capability corresponds to '-machine memory-backend=' command
> line argument. Unfortunately, it is not possible for us to detect
> the capability via QMP and therefore we have to have a version
> check.
> The QEMU capability was introduced in v5.1.0-3-gc556600598.
>
Please rephrase this or drop the period at the end, e.g.:
QEMU commit v5.1.0-3-gc556600598 introduced the capability.
(to make it easier to select)
> Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
> ---
> src/qemu/qemu_capabilities.c | 7 +++++++
> src/qemu/qemu_capabilities.h | 3 +++
> tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml | 1 +
> 3 files changed, 11 insertions(+)
>
> diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
> index dcfd7cdd4e..d0a7c7b30e 100644
> --- a/src/qemu/qemu_capabilities.c
> +++ b/src/qemu/qemu_capabilities.c
> @@ -597,6 +597,9 @@ VIR_ENUM_IMPL(virQEMUCaps,
> "spapr-tpm-proxy",
> "numa.hmat",
> "blockdev-hostdev-scsi",
> +
> + /* 380 */
> + "machine.memory-backend",
> );
>
>
> @@ -5104,6 +5107,10 @@ virQEMUCapsInitQMPVersionCaps(virQEMUCapsPtr
> qemuCaps)
> /* TCG couldn't be disabled nor queried until QEMU 2.10 */
> if (qemuCaps->version < 2010000)
> virQEMUCapsSet(qemuCaps, QEMU_CAPS_TCG);
> +
> + /* no way to query for -machine memory-backend */
> + if (qemuCaps->version >= 5001050)
That's a git version.
Also, the above mentioned commit introduces the 'default-ram-id'
property, which does show up in our capability replies file.
Can't we safely assume that its presence also means that -machine
memory-backend is supported?
Good point. We can do that. However, I will need to do a slight change
to 6/7 to qemuTestCapsCacheInsert() because there I'm filling
default-ram-id for all qemuCaps, even old versions that don't have it in
real world. So basically, I will need to move this version check into
qemuTestCapsCacheInsert() but I guess that's okay if I put a comment
next to it.
Michal