diff options
Diffstat (limited to '0017-tools-libxl-Replace-deprecated-soundhw-on-QEMU-comma.patch')
-rw-r--r-- | 0017-tools-libxl-Replace-deprecated-soundhw-on-QEMU-comma.patch | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/0017-tools-libxl-Replace-deprecated-soundhw-on-QEMU-comma.patch b/0017-tools-libxl-Replace-deprecated-soundhw-on-QEMU-comma.patch deleted file mode 100644 index 8133c53..0000000 --- a/0017-tools-libxl-Replace-deprecated-soundhw-on-QEMU-comma.patch +++ /dev/null @@ -1,112 +0,0 @@ -From e85e2a3c17b6cd38de041cdaf14d9efdcdabad1a Mon Sep 17 00:00:00 2001 -From: Anthony PERARD <anthony.perard@citrix.com> -Date: Tue, 11 Oct 2022 14:59:10 +0200 -Subject: [PATCH 17/87] tools/libxl: Replace deprecated -soundhw on QEMU - command line - --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> -master commit: 62ca138c2c052187783aca3957d3f47c4dcfd683 -master date: 2022-08-18 09:25:50 +0200 ---- - docs/man/xl.cfg.5.pod.in | 6 +++--- - tools/libs/light/libxl_dm.c | 19 ++++++++++++++++++- - tools/libs/light/libxl_types_internal.idl | 10 ++++++++++ - 3 files changed, 31 insertions(+), 4 deletions(-) - -diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in -index eda1e77ebd06..ab7541f22c3e 100644 ---- a/docs/man/xl.cfg.5.pod.in -+++ b/docs/man/xl.cfg.5.pod.in -@@ -2545,9 +2545,9 @@ The form serial=DEVICE is also accepted for backwards compatibility. - - =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> -diff --git a/tools/libs/light/libxl_dm.c b/tools/libs/light/libxl_dm.c -index 04bf5d85632e..fc264a3a13a6 100644 ---- a/tools/libs/light/libxl_dm.c -+++ b/tools/libs/light/libxl_dm.c -@@ -1204,6 +1204,7 @@ static int libxl__build_device_model_args_new(libxl__gc *gc, - 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_args_new(libxl__gc *gc, - } - } - 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"); -diff --git a/tools/libs/light/libxl_types_internal.idl b/tools/libs/light/libxl_types_internal.idl -index 3593e21dbb64..caa08d3229cd 100644 ---- a/tools/libs/light/libxl_types_internal.idl -+++ b/tools/libs/light/libxl_types_internal.idl -@@ -55,3 +55,13 @@ libxl__device_action = Enumeration("device_action", [ - (1, "ADD"), - (2, "REMOVE"), - ]) -+ -+libxl__qemu_soundhw = Enumeration("qemu_soundhw", [ -+ (1, "ac97"), -+ (2, "adlib"), -+ (3, "cs4231a"), -+ (4, "es1370"), -+ (5, "gus"), -+ (6, "hda"), -+ (7, "sb16"), -+ ]) --- -2.37.4 - |