summary refs log tree commit diff stats
path: root/hw/misc/macio/cuda.c
diff options
context:
space:
mode:
authorMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>2015-11-11 22:49:45 +0000
committerDavid Gibson <david@gibson.dropbear.id.au>2015-11-12 13:15:54 +1100
commitce8d3b647b5acc2bec19602d9fac87d3da11ae77 (patch)
treefe90f06a1152460758de7b62dcb2d6cb5913d0be /hw/misc/macio/cuda.c
parentf1f46f74a9de7298977a3ed668e71843fa904c38 (diff)
downloadfocaccia-qemu-ce8d3b647b5acc2bec19602d9fac87d3da11ae77.tar.gz
focaccia-qemu-ce8d3b647b5acc2bec19602d9fac87d3da11ae77.zip
cuda.c: implement dummy IIC access commands
These are used by MacOS 9 on boot. Here we return an error except for 4-byte
commands which write to the IIC bus in a similar manner to MOL.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'hw/misc/macio/cuda.c')
-rw-r--r--hw/misc/macio/cuda.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/hw/misc/macio/cuda.c b/hw/misc/macio/cuda.c
index 1a2ab01c0a..b7e9deeb15 100644
--- a/hw/misc/macio/cuda.c
+++ b/hw/misc/macio/cuda.c
@@ -529,6 +529,24 @@ static void cuda_receive_packet(CUDAState *s,
         cuda_send_packet_to_host(s, obuf, 3);
         qemu_system_reset_request();
         break;
+    case CUDA_COMBINED_FORMAT_IIC:
+        obuf[0] = ERROR_PACKET;
+        obuf[1] = 0x5;
+        obuf[2] = CUDA_PACKET;
+        obuf[3] = data[0];
+        cuda_send_packet_to_host(s, obuf, 4);
+        break;
+    case CUDA_GET_SET_IIC:
+        if (len == 4) {
+            cuda_send_packet_to_host(s, obuf, 3);
+        } else {
+            obuf[0] = ERROR_PACKET;
+            obuf[1] = 0x2;
+            obuf[2] = CUDA_PACKET;
+            obuf[3] = data[0];
+            cuda_send_packet_to_host(s, obuf, 4);
+        }
+        break;
     default:
         break;
     }