All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kevin Wolf <kwolf@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: qemu-devel@nongnu.org, Markus Armbruster <armbru@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 3/4] atapi: implement READ DISC INFORMATION
Date: Mon, 11 Jun 2012 14:44:50 +0200	[thread overview]
Message-ID: <4FD5E842.5040108@redhat.com> (raw)
In-Reply-To: <1339392246-20201-4-git-send-email-pbonzini@redhat.com>

Am 11.06.2012 07:24, schrieb Paolo Bonzini:
> This command is not necessary for CD-ROM and DVD-ROM, but some versions of
> udev trip on its absence.
> 
> Cc: Kevin Wolf <kwolf@redhat.com>
> Cc: Markus Armbruster <armbru@redhat.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>         Kevin, ok to merge these ATAPI changes via the SCSI tree?
> 
>  hw/ide/atapi.c |   31 +++++++++++++++++++++++++++++++
>  1 file changed, 31 insertions(+)
> 
> diff --git a/hw/ide/atapi.c b/hw/ide/atapi.c
> index 5919cf5..7510886 100644
> --- a/hw/ide/atapi.c
> +++ b/hw/ide/atapi.c
> @@ -956,6 +956,36 @@ static void cmd_read_cdvd_capacity(IDEState *s, uint8_t* buf)
>      ide_atapi_cmd_reply(s, 8, 8);
>  }
>  
> +static void cmd_read_disc_information(IDEState *s, uint8_t* buf)
> +{
> +    uint8_t type = buf[1] & 7;
> +    uint32_t max_len = ube16_to_cpu(buf + 7);
> +
> +    /* Types 1/2 are only defined for Blu-Ray.  */
> +    if (type != 0) {
> +        ide_atapi_cmd_error(s, ILLEGAL_REQUEST,
> +                            ASC_INV_FIELD_IN_CMD_PACKET);
> +        return;
> +    }
> +
> +    memset(buf, 0, 34);
> +    buf[1] = 32;
> +    buf[2] = 0xe; /* last session complete, disc finalized */
> +    buf[3] = 1;   /* first track on disc */
> +    buf[4] = 1;   /* # of sessions */
> +    buf[5] = 1;   /* first track of last session */
> +    buf[6] = 1;   /* last track of last session */
> +    buf[7] = 0x20; /* unrestricted use */
> +    buf[8] = 0x00; /* CD-ROM or DVD-ROM */
> +    /* 9-10-11: most significant byte corresponding bytes 4-5-6 */
> +    /* 12-23: not meaningful for CD-ROM or DVD-ROM */
> +    /* 24-31: disc bar code */
> +    /* 32: disc application code */
> +    /* 33: number of OPC tables */
> +
> +    ide_atapi_cmd_reply(s, 34, max_len);
> +}

Looks correct to me.

> +
>  static void cmd_read_dvd_structure(IDEState *s, uint8_t* buf)
>  {
>      int max_len;

> @@ -1048,6 +1078,7 @@ static const struct {
>      [ 0x5a ] = { cmd_mode_sense, /* (10) */         0 },
>      [ 0xa8 ] = { cmd_read, /* (12) */               CHECK_READY },
>      [ 0xad ] = { cmd_read_dvd_structure,            CHECK_READY },
> +    [ 0x51 ] = { cmd_read_disc_information,         CHECK_READY },
>      [ 0xbb ] = { cmd_set_speed,                     0 },
>      [ 0xbd ] = { cmd_mechanism_status,              0 },
>      [ 0xbe ] = { cmd_read_cd,                       CHECK_READY },

Please keep the table sorted.

Also, if I was the SCSI maintainer, I would require qtest cases for all
four patches. ;-)

Kevin

  reply	other threads:[~2012-06-11 12:45 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-11  5:24 [Qemu-devel] [PATCH 0/4] Small SCSI command improvements Paolo Bonzini
2012-06-11  5:24 ` [Qemu-devel] [PATCH 1/4] scsi: simplify and fix handling of the VPD page length field Paolo Bonzini
2012-06-11  5:24 ` [Qemu-devel] [PATCH 2/4] scsi: add a qdev property for the disk's WWN Paolo Bonzini
2012-06-11  5:24 ` [Qemu-devel] [PATCH 3/4] atapi: implement READ DISC INFORMATION Paolo Bonzini
2012-06-11 12:44   ` Kevin Wolf [this message]
2012-06-11 12:50     ` Paolo Bonzini
2012-06-11  5:24 ` [Qemu-devel] [PATCH 4/4] scsi-disk: " Paolo Bonzini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4FD5E842.5040108@redhat.com \
    --to=kwolf@redhat.com \
    --cc=armbru@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.