Re: [libvirt] [libvirt PATCH v2 14/44] Deprecate QEMU_CAPS_SDL

2018-04-12 Thread Andrea Bolognani
On Mon, 2018-04-09 at 17:20 +0200, Ján Tomko wrote:
> diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
> index 009ae2d36c..18f7e6d2d7 100644
> --- a/tests/qemuxml2argvtest.c
> +++ b/tests/qemuxml2argvtest.c
> @@ -1141,8 +1141,8 @@ mymain(void)
>  VIR_FREE(driver.config->vncSASLdir);
>  VIR_FREE(driver.config->vncTLSx509certdir);
>  
> -DO_TEST("graphics-sdl", QEMU_CAPS_SDL, QEMU_CAPS_DEVICE_VGA);
> -DO_TEST("graphics-sdl-fullscreen", QEMU_CAPS_SDL,
> +DO_TEST("graphics-sdl", QEMU_CAPS_DEVICE_VGA);

The capability can go on a separate line now.


I think Dan's comments about having better detection of whether SDL
support is actually compiled into the QEMU binary will need to be
addressed separately anyway and thus shouldn't prevent this patch
from being merged. Assuming he doesn't object,

  Reviewed-by: Andrea Bolognani 

-- 
Andrea Bolognani / Red Hat / Virtualization

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] [libvirt PATCH v2 14/44] Deprecate QEMU_CAPS_SDL

2018-04-09 Thread Eric Blake
On 04/09/2018 10:33 AM, Daniel P. Berrangé wrote:
> On Mon, Apr 09, 2018 at 05:20:07PM +0200, Ján Tomko wrote:
>> Implied by QEMU >= 1.2.0.
>>

>> +++ b/src/qemu/qemu_capabilities.h
>> @@ -85,7 +85,7 @@ typedef enum {
>>  /* 25 */
>>  X_QEMU_CAPS_BALLOON, /* -balloon available */
>>  X_QEMU_CAPS_DEVICE, /* Is the -device arg available */
>> -QEMU_CAPS_SDL, /* Is the new -sdl arg available */
>> +X_QEMU_CAPS_SDL, /* Is the new -sdl arg available */
> 
> Hmm, even if -sdl is available, QEMU might have been built without SDL
> support. I wonder if there is any way we can probe to see if SDL is
> truely available

I'm not sure if qemu's query-command-line-options tracks this yet (one
of Markus' goal on cleaning up QemuOpts to be introspectible); there's
also Marc-Andre's work towards making query-qmp-schema actually be
compiled with appropriate #if conditionals, but that won't land before
qemu 2.13.

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.   +1-919-301-3266
Virtualization:  qemu.org | libvirt.org



signature.asc
Description: OpenPGP digital signature
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] [libvirt PATCH v2 14/44] Deprecate QEMU_CAPS_SDL

2018-04-09 Thread Daniel P . Berrangé
On Mon, Apr 09, 2018 at 05:20:07PM +0200, Ján Tomko wrote:
> Implied by QEMU >= 1.2.0.
> 
> Signed-off-by: Ján Tomko 
> ---
>  src/qemu/qemu_capabilities.c   | 4 +---
>  src/qemu/qemu_capabilities.h   | 2 +-
>  src/qemu/qemu_command.c| 9 +
>  tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml   | 1 -
>  tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml   | 1 -
>  tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml   | 1 -
>  tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml   | 1 -
>  tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml | 1 -
>  tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml   | 1 -
>  tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml   | 1 -
>  tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml  | 1 -
>  tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml   | 1 -
>  tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml | 1 -
>  tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml   | 1 -
>  tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml   | 1 -
>  tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml  | 1 -
>  tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml   | 1 -
>  tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml   | 1 -
>  tests/qemucapabilitiesdata/caps_2.6.0.aarch64.xml  | 1 -
>  tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml| 1 -
>  tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml   | 1 -
>  tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml| 1 -
>  tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml   | 1 -
>  tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml| 1 -
>  tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml   | 1 -
>  tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml| 1 -
>  tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml| 1 -
>  tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml   | 1 -
>  tests/qemuxml2argvtest.c   | 4 ++--
>  29 files changed, 5 insertions(+), 39 deletions(-)
> 
> diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
> index b4ead4aeff..63eb1a5768 100644
> --- a/src/qemu/qemu_capabilities.c
> +++ b/src/qemu/qemu_capabilities.c
> @@ -3635,7 +3635,6 @@ static qemuMonitorCallbacks callbacks = {
>  static void
>  virQEMUCapsInitQMPBasic(virQEMUCapsPtr qemuCaps)
>  {
> -virQEMUCapsSet(qemuCaps, QEMU_CAPS_SDL);
>  virQEMUCapsSet(qemuCaps, QEMU_CAPS_RTC);
>  virQEMUCapsSet(qemuCaps, QEMU_CAPS_VHOST_NET);
>  virQEMUCapsSet(qemuCaps, QEMU_CAPS_NODEFCONFIG);
> @@ -4693,8 +4692,7 @@ virQEMUCapsFillDomainDeviceGraphicsCaps(virQEMUCapsPtr 
> qemuCaps,
>  {
>  dev->supported = true;
>  
> -if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_SDL))
> -VIR_DOMAIN_CAPS_ENUM_SET(dev->type, VIR_DOMAIN_GRAPHICS_TYPE_SDL);
> +VIR_DOMAIN_CAPS_ENUM_SET(dev->type, VIR_DOMAIN_GRAPHICS_TYPE_SDL);
>  if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_VNC))
>  VIR_DOMAIN_CAPS_ENUM_SET(dev->type, VIR_DOMAIN_GRAPHICS_TYPE_VNC);
>  if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_SPICE))
> diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
> index 9d0b6878b7..71bea5a623 100644
> --- a/src/qemu/qemu_capabilities.h
> +++ b/src/qemu/qemu_capabilities.h
> @@ -85,7 +85,7 @@ typedef enum {
>  /* 25 */
>  X_QEMU_CAPS_BALLOON, /* -balloon available */
>  X_QEMU_CAPS_DEVICE, /* Is the -device arg available */
> -QEMU_CAPS_SDL, /* Is the new -sdl arg available */
> +X_QEMU_CAPS_SDL, /* Is the new -sdl arg available */

Hmm, even if -sdl is available, QEMU might have been built without SDL
support. I wonder if there is any way we can probe to see if SDL is
truely available

>  X_QEMU_CAPS_SMP_TOPOLOGY, /* -smp has sockets/cores/threads */
>  X_QEMU_CAPS_NETDEV, /* -netdev flag & netdev_add/remove */
>  
> diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
> index 422f8f2546..6851bd7bcf 100644
> --- a/src/qemu/qemu_command.c
> +++ b/src/qemu/qemu_command.c
> @@ -8134,18 +8134,11 @@ 
> qemuBuildGraphicsSPICECommandLine(virQEMUDriverConfigPtr cfg,
>  static int
>  qemuBuildGraphicsCommandLine(virQEMUDriverConfigPtr cfg,
>   virCommandPtr cmd,
> - virDomainDefPtr def,
>   virQEMUCapsPtr qemuCaps,
>   virDomainGraphicsDefPtr graphics)
>  {
>  switch (graphics->type) {
>  case VIR_DOMAIN_GRAPHICS_TYPE_SDL:
> -if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_SDL)) {
> -virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
> -   _("sdl not supported by '%s'"), def->emulator);
> -return -1;
> -}

...as this is potentially still relevant if built without SDL


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 :|

--
libvir-list mailing 

[libvirt] [libvirt PATCH v2 14/44] Deprecate QEMU_CAPS_SDL

2018-04-09 Thread Ján Tomko
Implied by QEMU >= 1.2.0.

Signed-off-by: Ján Tomko 
---
 src/qemu/qemu_capabilities.c   | 4 +---
 src/qemu/qemu_capabilities.h   | 2 +-
 src/qemu/qemu_command.c| 9 +
 tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml   | 1 -
 tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml   | 1 -
 tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml   | 1 -
 tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml   | 1 -
 tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml | 1 -
 tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml   | 1 -
 tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml   | 1 -
 tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml  | 1 -
 tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml   | 1 -
 tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml | 1 -
 tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml   | 1 -
 tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml   | 1 -
 tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml  | 1 -
 tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml   | 1 -
 tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml   | 1 -
 tests/qemucapabilitiesdata/caps_2.6.0.aarch64.xml  | 1 -
 tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml| 1 -
 tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml   | 1 -
 tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml| 1 -
 tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml   | 1 -
 tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml| 1 -
 tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml   | 1 -
 tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml| 1 -
 tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml| 1 -
 tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml   | 1 -
 tests/qemuxml2argvtest.c   | 4 ++--
 29 files changed, 5 insertions(+), 39 deletions(-)

diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index b4ead4aeff..63eb1a5768 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -3635,7 +3635,6 @@ static qemuMonitorCallbacks callbacks = {
 static void
 virQEMUCapsInitQMPBasic(virQEMUCapsPtr qemuCaps)
 {
-virQEMUCapsSet(qemuCaps, QEMU_CAPS_SDL);
 virQEMUCapsSet(qemuCaps, QEMU_CAPS_RTC);
 virQEMUCapsSet(qemuCaps, QEMU_CAPS_VHOST_NET);
 virQEMUCapsSet(qemuCaps, QEMU_CAPS_NODEFCONFIG);
@@ -4693,8 +4692,7 @@ virQEMUCapsFillDomainDeviceGraphicsCaps(virQEMUCapsPtr 
qemuCaps,
 {
 dev->supported = true;
 
-if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_SDL))
-VIR_DOMAIN_CAPS_ENUM_SET(dev->type, VIR_DOMAIN_GRAPHICS_TYPE_SDL);
+VIR_DOMAIN_CAPS_ENUM_SET(dev->type, VIR_DOMAIN_GRAPHICS_TYPE_SDL);
 if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_VNC))
 VIR_DOMAIN_CAPS_ENUM_SET(dev->type, VIR_DOMAIN_GRAPHICS_TYPE_VNC);
 if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_SPICE))
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index 9d0b6878b7..71bea5a623 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -85,7 +85,7 @@ typedef enum {
 /* 25 */
 X_QEMU_CAPS_BALLOON, /* -balloon available */
 X_QEMU_CAPS_DEVICE, /* Is the -device arg available */
-QEMU_CAPS_SDL, /* Is the new -sdl arg available */
+X_QEMU_CAPS_SDL, /* Is the new -sdl arg available */
 X_QEMU_CAPS_SMP_TOPOLOGY, /* -smp has sockets/cores/threads */
 X_QEMU_CAPS_NETDEV, /* -netdev flag & netdev_add/remove */
 
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 422f8f2546..6851bd7bcf 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -8134,18 +8134,11 @@ 
qemuBuildGraphicsSPICECommandLine(virQEMUDriverConfigPtr cfg,
 static int
 qemuBuildGraphicsCommandLine(virQEMUDriverConfigPtr cfg,
  virCommandPtr cmd,
- virDomainDefPtr def,
  virQEMUCapsPtr qemuCaps,
  virDomainGraphicsDefPtr graphics)
 {
 switch (graphics->type) {
 case VIR_DOMAIN_GRAPHICS_TYPE_SDL:
-if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_SDL)) {
-virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
-   _("sdl not supported by '%s'"), def->emulator);
-return -1;
-}
-
 if (graphics->data.sdl.xauth)
 virCommandAddEnvPair(cmd, "XAUTHORITY", graphics->data.sdl.xauth);
 if (graphics->data.sdl.display)
@@ -10109,7 +10102,7 @@ qemuBuildCommandLine(virQEMUDriverPtr driver,
 goto error;
 
 for (i = 0; i < def->ngraphics; ++i) {
-if (qemuBuildGraphicsCommandLine(cfg, cmd, def, qemuCaps,
+if (qemuBuildGraphicsCommandLine(cfg, cmd, qemuCaps,
  def->graphics[i]) < 0)
 goto error;
 }
diff --git a/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml 
b/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml
index 1b09d41083..4c10ccfa10 100644
--- a/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml
+++