mirror of https://github.com/xemu-project/xemu.git
vl: recognize audiodev groups in configuration files
This is necessary for the q35 configuration tests to pass, once audiodev becomes mandatory. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
50333482e1
commit
adf7f6b72f
|
@ -288,3 +288,7 @@
|
||||||
driver = "hda-duplex"
|
driver = "hda-duplex"
|
||||||
bus = "ich9-hda-audio.0"
|
bus = "ich9-hda-audio.0"
|
||||||
cad = "0"
|
cad = "0"
|
||||||
|
audiodev = "audiodev0"
|
||||||
|
|
||||||
|
[audiodev "audiodev0"]
|
||||||
|
driver = "none" # CHANGE ME
|
||||||
|
|
|
@ -248,3 +248,7 @@
|
||||||
driver = "hda-duplex"
|
driver = "hda-duplex"
|
||||||
bus = "sound.0"
|
bus = "sound.0"
|
||||||
cad = "0"
|
cad = "0"
|
||||||
|
audiodev = "audiodev0"
|
||||||
|
|
||||||
|
[audiodev "audiodev0"]
|
||||||
|
driver = "none" # CHANGE ME
|
||||||
|
|
10
softmmu/vl.c
10
softmmu/vl.c
|
@ -2125,6 +2125,7 @@ static int global_init_func(void *opaque, QemuOpts *opts, Error **errp)
|
||||||
static bool is_qemuopts_group(const char *group)
|
static bool is_qemuopts_group(const char *group)
|
||||||
{
|
{
|
||||||
if (g_str_equal(group, "object") ||
|
if (g_str_equal(group, "object") ||
|
||||||
|
g_str_equal(group, "audiodev") ||
|
||||||
g_str_equal(group, "machine") ||
|
g_str_equal(group, "machine") ||
|
||||||
g_str_equal(group, "smp-opts") ||
|
g_str_equal(group, "smp-opts") ||
|
||||||
g_str_equal(group, "boot-opts")) {
|
g_str_equal(group, "boot-opts")) {
|
||||||
|
@ -2140,6 +2141,15 @@ static void qemu_record_config_group(const char *group, QDict *dict,
|
||||||
Visitor *v = qobject_input_visitor_new_keyval(QOBJECT(dict));
|
Visitor *v = qobject_input_visitor_new_keyval(QOBJECT(dict));
|
||||||
object_option_add_visitor(v);
|
object_option_add_visitor(v);
|
||||||
visit_free(v);
|
visit_free(v);
|
||||||
|
|
||||||
|
} else if (g_str_equal(group, "audiodev")) {
|
||||||
|
Audiodev *dev = NULL;
|
||||||
|
Visitor *v = qobject_input_visitor_new_keyval(QOBJECT(dict));
|
||||||
|
if (visit_type_Audiodev(v, NULL, &dev, errp)) {
|
||||||
|
audio_define(dev);
|
||||||
|
}
|
||||||
|
visit_free(v);
|
||||||
|
|
||||||
} else if (g_str_equal(group, "machine")) {
|
} else if (g_str_equal(group, "machine")) {
|
||||||
/*
|
/*
|
||||||
* Cannot merge string-valued and type-safe dictionaries, so JSON
|
* Cannot merge string-valued and type-safe dictionaries, so JSON
|
||||||
|
|
Loading…
Reference in New Issue