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@xxxxxxxxx> > --- > 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 :|