Add Intel HD Audio support to qemu.
commitd61a4ce8f01ac9f1810380e043db467d536eeb6b
authorGerd Hoffmann <kraxel@redhat.com>
Mon, 1 Nov 2010 12:05:32 +0000 (1 13:05 +0100)
committermalc <av1474@comtv.ru>
Mon, 1 Nov 2010 14:57:22 +0000 (1 17:57 +0300)
treeeb969474b2664b7da2ed991631985900c3567f2c
parentcdae5cfbd3a61a5d4de79b829fb41188073d3002
Add Intel HD Audio support to qemu.

This patch adds three devices to qemu:

intel-hda
Intel HD Audio Controller, the PCI device.  Provides a HDA bus.
Emulates ICH6 at the moment.  Adding a ICH9 PCIE
variant shouldn't be hard.

hda-duplex
HDA Codec.  Attaches to the HDA bus.  Supports 16bit stereo,
rates 16k -> 96k, playback, recording and volume control
(with CONFIG_MIXEMU=y).

hda-output
HDA Codec without recording support.  Subset of the hda-duplex
codec.  Use this if you don't want your guests access your mic.

Usage: add '-device intel-hda -device hda-duplex' to your command line.

Tested guests:
 * Linux works.
 * Win7 works.
 * DOS (mpxplay) works.
 * WinXP doesn't work.

[ v2 changes ]
 * Fixed endianess, big endian hosts work now.
 * Fixed some emulation bugs.
 * Added immediate command emulation.
 * Added vmstate support.
 * Make it behave like all other sound card drivers:
   - can be configured via '--audio-card-list=hda'
   - can be added to a VM using '-soundhw hda'
 * Code style fixups.
 * Zapped guest-triggerable asserts.
 * Handle partial reads/writes of audio data correctly.

Cc: malc <av1474@comtv.ru>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: malc <av1474@comtv.ru>
Makefile.objs
arch_init.c
configure
hw/audiodev.h
hw/hda-audio.c [new file with mode: 0644]
hw/intel-hda-defs.h [new file with mode: 0644]
hw/intel-hda.c [new file with mode: 0644]
hw/intel-hda.h [new file with mode: 0644]