[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 07/35] scsi-disk: add stubs for more MMC command
From: |
Kevin Wolf |
Subject: |
Re: [Qemu-devel] [PATCH 07/35] scsi-disk: add stubs for more MMC commands |
Date: |
Mon, 17 Oct 2011 16:27:37 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:7.0) Gecko/20110927 Thunderbird/7.0 |
Am 13.10.2011 13:03, schrieb Paolo Bonzini:
> This patch adds a few stub implementations for MMC commands to
> scsi-disk, to be filled in later in the series. It also adds to
> scsi-defs.h constants for commands implemented by ide/atapi.c,
> when missing.
>
> Signed-off-by: Paolo Bonzini <address@hidden>
> ---
> hw/scsi-defs.h | 3 ++
> hw/scsi-disk.c | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++----
> 2 files changed, 61 insertions(+), 5 deletions(-)
>
> diff --git a/hw/scsi-defs.h b/hw/scsi-defs.h
> index 8094698..030d4c2 100644
> --- a/hw/scsi-defs.h
> +++ b/hw/scsi-defs.h
> @@ -113,6 +113,7 @@
> #define READ_12 0xa8
> #define WRITE_12 0xaa
> #define SERVICE_ACTION_IN_12 0xab
> +#define READ_DVD_STRUCTURE 0xad
> #define WRITE_VERIFY_12 0xae
> #define VERIFY_12 0xaf
> #define SEARCH_HIGH_12 0xb0
> @@ -122,6 +123,8 @@
> #define SEND_VOLUME_TAG 0xb6
> #define READ_DEFECT_DATA_12 0xb7
> #define SET_CD_SPEED 0xbb
> +#define MECHANISM_STATUS 0xbd
> +#define READ_CD 0xbe
>
> /*
> * SERVICE ACTION IN subcodes
> diff --git a/hw/scsi-disk.c b/hw/scsi-disk.c
> index 880cb22..95a6b77 100644
> --- a/hw/scsi-disk.c
> +++ b/hw/scsi-disk.c
> @@ -563,6 +563,43 @@ static int scsi_disk_emulate_inquiry(SCSIRequest *req,
> uint8_t *outbuf)
> return buflen;
> }
>
> +static int scsi_read_dvd_structure(SCSIDiskState *s, SCSIDiskReq *r,
> + uint8_t *outbuf)
> +{
> + scsi_check_condition(r, SENSE_CODE(INVALID_OPCODE));
> + return -1;
> +}
> +
> +static int scsi_get_event_status_notification(SCSIDiskState *s,
> + SCSIDiskReq *r, uint8_t
> *outbuf)
> +{
> + scsi_check_condition(r, SENSE_CODE(INVALID_OPCODE));
> + return -1;
> +}
> +
> +static int scsi_get_configuration(SCSIDiskState *s, SCSIDiskReq *r,
> + uint8_t *outbuf)
> +{
> + if (s->qdev.type != TYPE_ROM) {
> + return -1;
> + }
> + memset(outbuf, 0, 8);
> + /* ??? This should probably return much more information. For now
> + just return the basic header indicating the CD-ROM profile. */
> + outbuf[7] = 8; // CD-ROM
> + return 8;
> +}
> +
> +static int scsi_emulate_mechanism_status(SCSIDiskState *s, uint8_t *outbuf)
> +{
> + if (s->qdev.type != TYPE_ROM) {
> + return -1;
> + }
> + memset(outbuf, 0, 8);
> + outbuf[5] = 1; // CD-ROM
> + return 8;
> +}
> +
> static int mode_sense_page(SCSIDiskState *s, int page, uint8_t **p_outbuf,
> int page_control)
> {
> @@ -947,12 +984,25 @@ static int scsi_disk_emulate_command(SCSIDiskReq *r)
> outbuf[7] = 0;
> buflen = 8;
> break;
> + case MECHANISM_STATUS:
> + buflen = scsi_emulate_mechanism_status(s, outbuf);
> + if (buflen < 0)
> + goto illegal_request;
Braces are missing here and in the other commands.
Kevin
- Re: [Qemu-devel] [PATCH 03/35] atapi: move GESN definitions to scsi-defs.h, (continued)
- [Qemu-devel] [PATCH 02/35] atapi/scsi: unify definitions for MMC, Paolo Bonzini, 2011/10/13
- [Qemu-devel] [PATCH 06/35] scsi-disk: report media changed via unit attention sense codes, Paolo Bonzini, 2011/10/13
- [Qemu-devel] [PATCH 05/35] scsi: notify the device when unit attention is reported, Paolo Bonzini, 2011/10/13
- [Qemu-devel] [PATCH 09/35] atapi/scsi-disk: make mode page values coherent between the two, Paolo Bonzini, 2011/10/13
- [Qemu-devel] [PATCH 08/35] scsi-disk: store valid mode pages in a table, Paolo Bonzini, 2011/10/13
- [Qemu-devel] [PATCH 07/35] scsi-disk: add stubs for more MMC commands, Paolo Bonzini, 2011/10/13
- Re: [Qemu-devel] [PATCH 07/35] scsi-disk: add stubs for more MMC commands,
Kevin Wolf <=
- [Qemu-devel] [PATCH 10/35] scsi-disk: support DVD profile in GET CONFIGURATION, Paolo Bonzini, 2011/10/13
- [Qemu-devel] [PATCH 14/35] qdev: switch children device list to QTAILQ, Paolo Bonzini, 2011/10/13
- [Qemu-devel] [PATCH 13/35] scsi: move tcq/ndev to SCSIBusOps (now SCSIBusInfo), Paolo Bonzini, 2011/10/13
- [Qemu-devel] [PATCH 11/35] scsi-disk: support READ DVD STRUCTURE, Paolo Bonzini, 2011/10/13