Gerd Hoffmann d61a4ce8f0 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>
2010-11-01 17:57:22 +03:00
..
2010-10-22 14:49:35 +02:00
2010-11-01 17:57:22 +03:00
2010-08-24 15:22:24 +00:00
2010-09-09 19:37:16 +00:00
2010-08-24 15:22:24 +00:00
2010-08-24 15:22:24 +00:00
2010-08-24 15:22:24 +00:00
2010-09-24 04:09:01 +04:00
2010-08-24 15:22:24 +00:00
2010-11-01 17:57:12 +03:00
2010-09-04 09:53:53 +00:00
2010-07-31 17:14:50 +02:00
2010-07-30 23:05:51 +02:00
2010-08-24 15:22:24 +00:00
2010-10-13 18:41:29 +00:00
2010-10-13 18:41:29 +00:00
2010-09-18 05:53:14 +00:00
2010-08-24 15:22:24 +00:00
2010-09-18 05:53:14 +00:00
2010-09-18 07:01:48 +00:00
2010-09-18 07:01:48 +00:00
2010-08-24 15:22:24 +00:00
2010-08-28 08:50:40 +00:00
2010-08-24 15:22:24 +00:00
2010-08-24 15:22:24 +00:00
2010-10-05 13:53:56 -05:00
2010-09-18 05:53:14 +00:00
2010-08-24 15:22:24 +00:00
2010-09-18 05:53:14 +00:00
2010-10-13 18:41:29 +00:00
2010-10-13 18:41:29 +00:00
2010-10-13 18:38:07 +00:00
2010-10-13 18:41:29 +00:00
2010-10-13 18:41:29 +00:00
2010-10-13 18:41:29 +00:00
2010-09-08 14:55:19 -05:00
2010-09-18 07:01:48 +00:00
2010-08-24 15:22:24 +00:00
2010-08-24 15:22:24 +00:00
2010-08-24 15:22:24 +00:00
2010-08-24 15:22:24 +00:00
2010-08-24 15:22:24 +00:00
2010-09-15 15:35:53 +02:00
2010-09-18 05:53:14 +00:00
2010-09-18 07:01:48 +00:00
2010-08-24 15:22:24 +00:00
2010-08-24 15:22:24 +00:00
2010-10-02 14:27:41 +00:00
2010-10-02 14:27:41 +00:00
2010-08-24 15:22:24 +00:00
2010-08-24 15:22:24 +00:00
2010-06-13 23:37:31 +01:00
2010-08-24 15:22:24 +00:00
2010-08-22 17:11:06 -05:00
2010-10-07 12:19:47 +02:00
2010-10-13 18:41:29 +00:00
2010-10-13 18:41:29 +00:00
2010-08-24 15:22:24 +00:00
2010-08-24 15:22:24 +00:00
2010-08-24 15:22:24 +00:00