qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-ppc] [PATCH 07/13] cuda.c: implement dummy IIC access commands


From: Mark Cave-Ayland
Subject: Re: [Qemu-ppc] [PATCH 07/13] cuda.c: implement dummy IIC access commands
Date: Wed, 04 Nov 2015 23:03:57 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.8.0

On 04/11/15 03:17, David Gibson wrote:

> On Fri, Oct 23, 2015 at 02:56:32PM +0100, Mark Cave-Ayland wrote:
>> These are used by MacOS 9 on boot. Here we return an error except for 4-byte
>> commands which write to the IIC bus.
> 
> A bit of rationale about why some of these give errors and some don't
> would be nice.

This was another change inspired by the relevant code in MOL. There are
comments suggesting that the 3 byte packet format is a (iicAddr, iicReg,
iicData) tuple which I could add in if required? Then again it seems the
MacOS 9 code just needs to receive some kind of reply in order for boot
to proceed, rather than the values actually doing anything.

>>
>> Signed-off-by: Mark Cave-Ayland <address@hidden>
>> ---
>>  hw/misc/macio/cuda.c |   18 ++++++++++++++++++
>>  1 file changed, 18 insertions(+)
>>
>> diff --git a/hw/misc/macio/cuda.c b/hw/misc/macio/cuda.c
>> index 4fe901b..d3ec58a 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;
>>      }
> 

ATB,

Mark.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]