qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 02/13] cuda: reject unknown commands


From: David Gibson
Subject: Re: [Qemu-devel] [PATCH 02/13] cuda: reject unknown commands
Date: Mon, 25 Jan 2016 10:12:03 +1100
User-agent: Mutt/1.5.24 (2015-08-30)

On Sat, Jan 23, 2016 at 09:39:59PM +0100, Hervé Poussineau wrote:
> Signed-off-by: Hervé Poussineau <address@hidden>
> ---
>  hw/misc/macio/cuda.c | 25 ++++++++++++++++---------
>  1 file changed, 16 insertions(+), 9 deletions(-)
> 
> diff --git a/hw/misc/macio/cuda.c b/hw/misc/macio/cuda.c
> index 69f69c2..f27dd19 100644
> --- a/hw/misc/macio/cuda.c
> +++ b/hw/misc/macio/cuda.c
> @@ -589,15 +589,15 @@ static void cuda_receive_packet(CUDAState *s,
>              }
>          }
>          cuda_send_packet_to_host(s, obuf, 3);
> -        break;
> +        return;
>      case CUDA_GET_6805_ADDR:
>          cuda_send_packet_to_host(s, obuf, 3);
> -        break;
> +        return;
>      case CUDA_SET_TIME:
>          ti = (((uint32_t)data[1]) << 24) + (((uint32_t)data[2]) << 16) + 
> (((uint32_t)data[3]) << 8) + data[4];
>          s->tick_offset = ti - (qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) / 
> get_ticks_per_sec());
>          cuda_send_packet_to_host(s, obuf, 3);
> -        break;
> +        return;
>      case CUDA_GET_TIME:
>          ti = s->tick_offset + (qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) / 
> get_ticks_per_sec());
>          obuf[3] = ti >> 24;
> @@ -605,28 +605,28 @@ static void cuda_receive_packet(CUDAState *s,
>          obuf[5] = ti >> 8;
>          obuf[6] = ti;
>          cuda_send_packet_to_host(s, obuf, 7);
> -        break;
> +        return;
>      case CUDA_FILE_SERVER_FLAG:
>      case CUDA_SET_DEVICE_LIST:
>      case CUDA_SET_AUTO_RATE:
>      case CUDA_SET_POWER_MESSAGES:
>          cuda_send_packet_to_host(s, obuf, 3);
> -        break;
> +        return;
>      case CUDA_POWERDOWN:
>          cuda_send_packet_to_host(s, obuf, 3);
>          qemu_system_shutdown_request();
> -        break;
> +        return;
>      case CUDA_RESET_SYSTEM:
>          cuda_send_packet_to_host(s, obuf, 3);
>          qemu_system_reset_request();
> -        break;
> +        return;
>      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;
> +        return;
>      case CUDA_GET_SET_IIC:
>          if (len == 4) {
>              cuda_send_packet_to_host(s, obuf, 3);
> @@ -637,10 +637,17 @@ static void cuda_receive_packet(CUDAState *s,
>              obuf[3] = data[0];
>              cuda_send_packet_to_host(s, obuf, 4);
>          }
> -        break;
> +        return;
>      default:
>          break;
>      }
> +
> +    qemu_log_mask(LOG_GUEST_ERROR, "CUDA: unknown command 0x%02x\n", 
> data[0]);

AFAICT qemu_log isn't much used these days, and it's not already used
in this file.  I think you'd be better off with either CUDA_DPRINTF()
or a tracepoint.

> +    obuf[0] = ERROR_PACKET;
> +    obuf[1] = 0x2; /* unknown command */
> +    obuf[2] = CUDA_PACKET;
> +    obuf[3] = data[0];
> +    cuda_send_packet_to_host(s, obuf, 4);
>  }
>  
>  static void cuda_receive_packet_from_host(CUDAState *s,

-- 
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

Attachment: signature.asc
Description: PGP signature


reply via email to

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