[libvirt] [PATCH] qemu: sound: Support intel 'hda' model
Daniel P. Berrange
berrange at redhat.com
Mon Jan 10 18:00:24 UTC 2011
On Mon, Jan 10, 2011 at 12:19:07PM -0500, Cole Robinson wrote:
> In QEMU, the card itself is a PCI device, but it requires
> -device hda-output in order to actually get sound to the host. AIUI this
> is just HDA configuration and does not require stable addressing, so
> is not presently represented in the XML.
>
> Additionally, qemu supports audio input with '-device hda-duplex', however
> that provides guests access to the host's microphone, so probably isn't
> what we want by default.
> ---
> docs/formatdomain.html.in | 5 +++--
> docs/schemas/domain.rng | 1 +
> src/conf/domain_conf.c | 3 ++-
> src/conf/domain_conf.h | 1 +
> src/qemu/qemu_command.c | 14 +++++++++++++-
> .../qemuxml2argv-sound-device.args | 2 +-
> .../qemuxml2argvdata/qemuxml2argv-sound-device.xml | 1 +
> tests/qemuxml2argvdata/qemuxml2argv-sound.args | 2 +-
> tests/qemuxml2argvdata/qemuxml2argv-sound.xml | 1 +
> 9 files changed, 24 insertions(+), 6 deletions(-)
>
> diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
> index e9fcea1..8c43b74 100644
> --- a/docs/formatdomain.html.in
> +++ b/docs/formatdomain.html.in
> @@ -1663,8 +1663,9 @@ qemu-kvm -net nic,model=? /dev/null
> The <code>sound</code> element has one mandatory attribute,
> <code>model</code>, which specifies what real sound device is emulated.
> Valid values are specific to the underlying hypervisor, though typical
> - choices are 'es1370', 'sb16', and 'ac97'
> - (<span class="since">'ac97' only since 0.6.0</span>)
> + choices are 'es1370', 'sb16', 'ac97', and 'hda'
> + (<span class="since">
> + 'ac97' only since 0.6.0, 'hda' only since 0.8.8</span>)
> </dd>
> </dl>
>
> diff --git a/docs/schemas/domain.rng b/docs/schemas/domain.rng
> index a524e4b..491a5a5 100644
> --- a/docs/schemas/domain.rng
> +++ b/docs/schemas/domain.rng
> @@ -1489,6 +1489,7 @@
> <value>es1370</value>
> <value>pcspk</value>
> <value>ac97</value>
> + <value>hda</value>
> </choice>
> </attribute>
> <optional>
> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
> index c857a89..992435d 100644
> --- a/src/conf/domain_conf.c
> +++ b/src/conf/domain_conf.c
> @@ -225,7 +225,8 @@ VIR_ENUM_IMPL(virDomainSoundModel, VIR_DOMAIN_SOUND_MODEL_LAST,
> "sb16",
> "es1370",
> "pcspk",
> - "ac97")
> + "ac97",
> + "hda")
IIUC, HDA is a generic family of devices, of which QEMU is
only emulating one particular device model - ICH6. If it adds
others (ICH7/8/9/etc) in the future we need to distinguish
them, so I think we should probably call it 'ich6' in the XML,
rather than 'hda'.
Regards,
Daniel
More information about the libvir-list
mailing list