On 12/20/22 23:52, Marek Marczykowski-Górecki wrote:
Xen 4.17 has strict parsing of 'soundhw' option that allows
only
specific values (instead of passing through any value directly to
qemu's -soundhw option, it uses -device now). For 'intel-hda' audio
device, it requires "hda" string. "hda" works with older libxl too.
Other supported models are the same as in libvirt XML.
Signed-off-by: Marek Marczykowski-Górecki <marmarek(a)invisiblethingslab.com>
---
Changes in v2:
- move validation to libxlDomainDefValidate
---
src/libxl/libxl_conf.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c
index d13e48abb2..5ae60b76c1 100644
--- a/src/libxl/libxl_conf.c
+++ b/src/libxl/libxl_conf.c
@@ -593,7 +593,10 @@ libxlMakeDomBuildInfo(virDomainDef *def,
*/
virDomainSoundDef *snd = def->sounds[0];
- b_info->u.hvm.soundhw =
g_strdup(virDomainSoundModelTypeToString(snd->model));
+ if (snd->model == VIR_DOMAIN_SOUND_MODEL_ICH6)
+ b_info->u.hvm.soundhw = g_strdup("hda");
+ else
+ b_info->u.hvm.soundhw =
g_strdup(virDomainSoundModelTypeToString(snd->model));
}
for (i = 0; i < def->os.nBootDevs; i++) {
I find this more readable as:
const char *model = virDomainSoundModelTypeToString(snd->model);
if (snd->model == VIR_DOMAIN_SOUND_MODEL_ICH6)
model = "hda";
b_info->u.hvm.soundhw = g_strdup(model);
I'll change it just before pushing.
Reviewed-by: Michal Privoznik <mprivozn(a)redhat.com>
Michal