On Thu, Aug 07, 2025 at 04:39:51PM +0200, Magnus Kulke wrote:
> From: Praveen K Paladugu <pra...@microsoft.com>
> 
> Allow to query mshv capabilities via query-mshv QMP command.
> 
> Signed-off-by: Praveen K Paladugu <pra...@linux.microsoft.com>
> Signed-off-by: Magnus Kulke <magnusku...@linux.microsoft.com>
> ---
>  hw/core/machine-qmp-cmds.c | 14 ++++++++++++++
>  qapi/accelerator.json      | 29 +++++++++++++++++++++++++++++
>  2 files changed, 43 insertions(+)
> 
> diff --git a/hw/core/machine-qmp-cmds.c b/hw/core/machine-qmp-cmds.c
> index 6aca1a626e..024ddb8d2d 100644
> --- a/hw/core/machine-qmp-cmds.c
> +++ b/hw/core/machine-qmp-cmds.c
> @@ -28,6 +28,20 @@
>  #include "system/runstate.h"
>  #include "system/system.h"
>  #include "hw/s390x/storage-keys.h"
> +#include <sys/stat.h>
> +
> +/*
> + * QMP query for MSHV
> + */
> +MshvInfo *qmp_query_mshv(Error **errp)
> +{
> +    MshvInfo *info = g_malloc0(sizeof(*info));
> +    struct stat st;
> +
> +    info->present = accel_find("mshv");
> +    info->enabled = (stat("/dev/mshv", &st) == 0);

This does't have the right semantics

$ sudo touch /dev/mshv
$ ./scripts/qmp/qmp-shell-wrap ./build/qemu-system-x86_64 -display none -accel 
tcg
(QEMU) query-mshv
{"return": {"enabled": true, "present": true}}


It cannot be enabled, since I asked for 'tcg' as the accelerator

IIUC, it should be

  info->enabled = mshv_enabled();

to match what KVM does.


With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|


Reply via email to