Re: [Qemu-devel] [PATCH] cuda.c: return error for unknown commands

2016-01-24 Thread David Gibson
On Fri, Jan 22, 2016 at 11:07:24PM +, Alyssa Milburn wrote:
> This avoids MacsBug hanging at startup in the absence of ADB mouse
> input, by replying with an error (which is also what MOL does) when
> it sends an unknown command (0x1c).
> 
> Signed-off-by: Alyssa Milburn 

I've applied this to ppc-for-2.6 for now, since it looks like it
addresses a real problem, and I can't see that it could break things
any worse than they are broken already.

I think Hervé's patches need a few tweaks, but I do hope to apply them
on top in the not too distant future.

> ---
>  hw/misc/macio/cuda.c | 5 +
>  1 file changed, 5 insertions(+)
> 
> diff --git a/hw/misc/macio/cuda.c b/hw/misc/macio/cuda.c
> index 9db4c64..7e57de5 100644
> --- a/hw/misc/macio/cuda.c
> +++ b/hw/misc/macio/cuda.c
> @@ -605,6 +605,11 @@ static void cuda_receive_packet(CUDAState *s,
>  }
>  break;
>  default:
> +obuf[0] = ERROR_PACKET;
> +obuf[1] = 0x2;
> +obuf[2] = CUDA_PACKET;
> +obuf[3] = data[0];
> +cuda_send_packet_to_host(s, obuf, 4);
>  break;
>  }
>  }

-- 
David Gibson| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au  | minimalist, thank you.  NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson


signature.asc
Description: PGP signature


Re: [Qemu-devel] [PATCH] cuda.c: return error for unknown commands

2016-01-23 Thread Mark Cave-Ayland
On 22/01/16 23:07, Alyssa Milburn wrote:

> This avoids MacsBug hanging at startup in the absence of ADB mouse
> input, by replying with an error (which is also what MOL does) when
> it sends an unknown command (0x1c).
> 
> Signed-off-by: Alyssa Milburn 
> ---
>  hw/misc/macio/cuda.c | 5 +
>  1 file changed, 5 insertions(+)
> 
> diff --git a/hw/misc/macio/cuda.c b/hw/misc/macio/cuda.c
> index 9db4c64..7e57de5 100644
> --- a/hw/misc/macio/cuda.c
> +++ b/hw/misc/macio/cuda.c
> @@ -605,6 +605,11 @@ static void cuda_receive_packet(CUDAState *s,
>  }
>  break;
>  default:
> +obuf[0] = ERROR_PACKET;
> +obuf[1] = 0x2;
> +obuf[2] = CUDA_PACKET;
> +obuf[3] = data[0];
> +cuda_send_packet_to_host(s, obuf, 4);
>  break;
>  }
>  }

I've just tested this with OS 9 locally and it fixes the issue for me,
so thanks for the patch!

Have you tried any other OS images at all just in case it causes any
regressions? I generally test booting a set of
Linux/NetBSD/FreeBSD/OpenBSD ISO images for OpenBIOS changes, and while
they don't all work it's good to double-check that any changes don't
accidentally regress other OSs.

And one minor nit I've just noticed on second reading: the commit
message is fine except that it should explicitly reference OS 9 to
explain the motivation for the change.


ATB,

Mark.