From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47258) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zu76W-0003M1-C0 for qemu-devel@nongnu.org; Wed, 04 Nov 2015 18:04:33 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zu76V-0000iy-B6 for qemu-devel@nongnu.org; Wed, 04 Nov 2015 18:04:32 -0500 Message-ID: <563A8EDD.6010600@ilande.co.uk> Date: Wed, 04 Nov 2015 23:03:57 +0000 From: Mark Cave-Ayland MIME-Version: 1.0 References: <1445608598-24485-1-git-send-email-mark.cave-ayland@ilande.co.uk> <1445608598-24485-8-git-send-email-mark.cave-ayland@ilande.co.uk> <20151104031713.GH21954@voom.redhat.com> In-Reply-To: <20151104031713.GH21954@voom.redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 07/13] cuda.c: implement dummy IIC access commands List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: David Gibson Cc: cormac@c-obrien.org, qemu-ppc@nongnu.org, qemu-devel@nongnu.org, agraf@suse.de 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 >> --- >> 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.