summary refs log tree commit diff stats
path: root/hw/ide/core.c
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 /hw/ide/core.c
parenta70089ceebc287da39782717d3249daba71c4e15 (diff)
downloadfocaccia-qemu-fe0d61231eb6be6a83c54f4a2795f924ee963f8f.tar.gz
focaccia-qemu-fe0d61231eb6be6a83c54f4a2795f924ee963f8f.zip
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>
Diffstat (limited to 'hw/ide/core.c')
-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;