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