On Tue, Jul 28, 2020 at 06:58:40PM +0400, Roman Bogorodskiy wrote:
bhyve supports intel hda sound devices that could be specified
on the command like using "-1:0,hda,play=$play_dev,rec=$rec_dev",
where "1:0" is a PCI address, and "$play_dev" and
"$rec_dev"
point to the playback and recording device on the host respectively.
Currently, schema of the 'sound' element doesn't allow specifying
neither playback nor recording devices, so for now hardcode
/dev/dsp0, which is the first audio device on the host.
One more simplification is to stick to "ich6" model, however
the device shows as "ich7" in a guest.
If bhyve is emulating an ICH7 for sound, then we should add
ICH7 to the virDomainSoundModel enum, rather than (re)using
the wrong ICH6 model.
Signed-off-by: Roman Bogorodskiy <bogorodskiy(a)gmail.com>
---
src/bhyve/bhyve_capabilities.c | 14 ++++++++
src/bhyve/bhyve_capabilities.h | 1 +
src/bhyve/bhyve_command.c | 33 +++++++++++++++++
src/bhyve/bhyve_device.c | 9 +++++
.../bhyvexml2argv-sound.args | 10 ++++++
.../bhyvexml2argv-sound.ldargs | 3 ++
.../bhyvexml2argvdata/bhyvexml2argv-sound.xml | 24 +++++++++++++
tests/bhyvexml2argvtest.c | 6 +++-
.../bhyvexml2xmlout-sound.xml | 36 +++++++++++++++++++
tests/bhyvexml2xmltest.c | 1 +
10 files changed, 136 insertions(+), 1 deletion(-)
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-sound.args
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-sound.ldargs
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-sound.xml
create mode 100644 tests/bhyvexml2xmloutdata/bhyvexml2xmlout-sound.xml
The actual impl looks fine, aside from the ICH6 vs ICH7 thing.
Regards,
Daniel
--
|:
https://berrange.com -o-
https://www.flickr.com/photos/dberrange :|
|:
https://libvirt.org -o-
https://fstop138.berrange.com :|
|:
https://entangle-photo.org -o-
https://www.instagram.com/dberrange :|