diff options
author | Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> | 2015-11-11 22:49:45 +0000 |
---|---|---|
committer | David Gibson <david@gibson.dropbear.id.au> | 2015-11-12 13:15:54 +1100 |
commit | ce8d3b647b5acc2bec19602d9fac87d3da11ae77 (patch) | |
tree | fe90f06a1152460758de7b62dcb2d6cb5913d0be /hw/misc | |
parent | f1f46f74a9de7298977a3ed668e71843fa904c38 (diff) |
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')
-rw-r--r-- | hw/misc/macio/cuda.c | 18 |
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; } |