On Fri, Jan 14, 2011 at 11:13:06AM -0700, Eric Blake wrote:
On 01/13/2011 08:45 AM, Cole Robinson wrote:
> @@ -3751,6 +3753,12 @@ qemuBuildCommandLine(virConnectPtr conn,
> goto error;
>
> virCommandAddArg(cmd, str);
> +
> + if (sound->model == VIR_DOMAIN_SOUND_MODEL_ICH6) {
> + virCommandAddArgList(cmd,
> + "-device",
"hda-duplex", NULL);
Suppose I want a guest with two sound cards, both using model='ich6'.
Am I correct that the qemu command line needs exactly one "-device
hda-duplex" to enable sound from either card to get back to the host,
but two "-device intel-hda,..." to implement the two cards in the guest?
If so, this doesn't quite do the right thing (you instantiate the
hda-duplex device twice); you'd need a bool variable set after the first
time you emit this extra device.
The 'intel-hda' device should have an 'id' set on the command
line. The codec devices should then use that id value to associate
themselves with the intel-hda device.
QEMU generally allows you to omit all these ids and does some
'sensible' behaviour, but libvirt must never rely on that
because we need to guarentee a stable guest ABI. Everything
must thus be fully specified
Regards,
Daniel