Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-15-SP4:Update
xen.26660
62fde97e-tools-libxl-Replace-deprecated-soundhw...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 62fde97e-tools-libxl-Replace-deprecated-soundhw-on-QEMU-command-line.patch of Package xen.26660
Subject: tools/libxl: Replace deprecated -soundhw on QEMU command line From: Anthony PERARD anthony.perard@citrix.com Thu Aug 18 09:25:50 2022 +0200 Date: Thu Aug 18 09:25:50 2022 +0200: Git: 62ca138c2c052187783aca3957d3f47c4dcfd683 -soundhw is deprecated since 825ff02911c9 ("audio: add soundhw deprecation notice"), QEMU v5.1, and is been remove for upcoming v7.1 by 039a68373c45 ("introduce -audio as a replacement for -soundhw"). Instead we can just add the sound card with "-device", for most option that "-soundhw" could handle. "-device" is an option that existed before QEMU 1.0, and could already be used to add audio hardware. The list of possible option for libxl's "soundhw" is taken the list from QEMU 7.0. The list of options for "soundhw" are listed in order of preference in the manual. The first three (hda, ac97, es1370) are PCI devices and easy to test on Linux, and the last four are ISA devices which doesn't seems to work out of the box on linux. The sound card 'pcspk' isn't listed even if it used to be accepted by '-soundhw' because QEMU crash when trying to add it to a Xen domain. Also, it wouldn't work with "-device" might need to be "-machine pcspk-audiodev=default" instead. Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> Reviewed-by: Jason Andryuk <jandryuk@gmail.com> --- a/docs/man/xl.cfg.5.pod.in +++ b/docs/man/xl.cfg.5.pod.in @@ -2540,9 +2540,9 @@ The form serial=DEVICE is also accepted =item B<soundhw="DEVICE"> -Select the virtual sound card to expose to the guest. The valid -devices are defined by the device model configuration, please see the -B<qemu(1)> manpage for details. The default is not to export any sound +Select the virtual sound card to expose to the guest. The valid devices are +B<hda>, B<ac97>, B<es1370>, B<adlib>, B<cs4231a>, B<gus>, B<sb16> if there are +available with the device model QEMU. The default is not to export any sound device. =item B<vkb_device=BOOLEAN> --- a/tools/libs/light/libxl_dm.c +++ b/tools/libs/light/libxl_dm.c @@ -1204,6 +1204,7 @@ static int libxl__build_device_model_arg uint64_t ram_size; const char *path, *chardev; bool is_stubdom = libxl_defbool_val(b_info->device_model_stubdomain); + int rc; dm_args = flexarray_make(gc, 16, 1); dm_envs = flexarray_make(gc, 16, 1); @@ -1531,7 +1532,23 @@ static int libxl__build_device_model_arg } } if (b_info->u.hvm.soundhw) { - flexarray_vappend(dm_args, "-soundhw", b_info->u.hvm.soundhw, NULL); + libxl__qemu_soundhw soundhw; + + rc = libxl__qemu_soundhw_from_string(b_info->u.hvm.soundhw, &soundhw); + if (rc) { + LOGD(ERROR, guest_domid, "Unknown soundhw option '%s'", b_info->u.hvm.soundhw); + return ERROR_INVAL; + } + + switch (soundhw) { + case LIBXL__QEMU_SOUNDHW_HDA: + flexarray_vappend(dm_args, "-device", "intel-hda", + "-device", "hda-duplex", NULL); + break; + default: + flexarray_append_pair(dm_args, "-device", + (char*)libxl__qemu_soundhw_to_string(soundhw)); + } } if (!libxl__acpi_defbool_val(b_info)) { flexarray_append(dm_args, "-no-acpi"); --- a/tools/libs/light/libxl_types_internal.idl +++ b/tools/libs/light/libxl_types_internal.idl @@ -55,3 +55,13 @@ libxl__device_action = Enumeration("devi (1, "ADD"), (2, "REMOVE"), ]) + +libxl__qemu_soundhw = Enumeration("qemu_soundhw", [ + (1, "ac97"), + (2, "adlib"), + (3, "cs4231a"), + (4, "es1370"), + (5, "gus"), + (6, "hda"), + (7, "sb16"), + ])
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor