aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThadeu Lima de Souza Cascardo <cascardo@holoscopio.com>2009-11-30 17:37:03 -0200
committerAnthony Liguori <aliguori@us.ibm.com>2009-12-03 15:26:01 -0600
commitfe0d61231eb6be6a83c54f4a2795f924ee963f8f (patch)
tree34f8fc78bc776bb9809119978154f27f6b0d6bac
parenta70089ceebc287da39782717d3249daba71c4e15 (diff)
ide: implement stub for audio control/volume read
This implements the audio control or volume read support as needed by some systems. A Conectiva Parolin system required this to detect an IDE device as CD-ROM, through the CDVOLREAD ioctl. Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-rw-r--r--hw/ide/core.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/hw/ide/core.c b/hw/ide/core.c
index e40fc75a22..76c3820806 100644
--- a/hw/ide/core.c
+++ b/hw/ide/core.c
@@ -1269,6 +1269,23 @@ static void ide_atapi_cmd(IDEState *s)
buf[15] = 0x00;
ide_atapi_cmd_reply(s, 16, max_len);
break;
+ case GPMODE_AUDIO_CTL_PAGE:
+ cpu_to_ube16(&buf[0], 24 + 6);
+ buf[2] = 0x70;
+ buf[3] = 0;
+ buf[4] = 0;
+ buf[5] = 0;
+ buf[6] = 0;
+ buf[7] = 0;
+
+ /* Fill with CDROM audio volume */
+ buf[17] = 0;
+ buf[19] = 0;
+ buf[21] = 0;
+ buf[23] = 0;
+
+ ide_atapi_cmd_reply(s, 24, max_len);
+ break;
case GPMODE_CAPABILITIES_PAGE:
cpu_to_ube16(&buf[0], 28 + 6);
buf[2] = 0x70;