[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 09/14] scsi: parse 16-byte tape CDBs
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PATCH 09/14] scsi: parse 16-byte tape CDBs |
Date: |
Fri, 4 May 2012 10:45:49 +0200 |
The transfer length for these commands is different from the transfer
length of the corresponding disk commands, so parse it specially.
Signed-off-by: Paolo Bonzini <address@hidden>
---
READ REVERSE(16) seems to be for people who stream manga from tape.
hw/scsi-bus.c | 10 ++++++++++
hw/scsi-defs.h | 1 +
2 files changed, 11 insertions(+)
diff --git a/hw/scsi-bus.c b/hw/scsi-bus.c
index 5fbf8db..46cd1f9 100644
--- a/hw/scsi-bus.c
+++ b/hw/scsi-bus.c
@@ -891,6 +891,16 @@ static int scsi_req_stream_length(SCSICommand *cmd,
SCSIDevice *dev, uint8_t *bu
cmd->xfer *= dev->blocksize;
}
break;
+ case READ_16:
+ case READ_REVERSE_16:
+ case VERIFY_16:
+ case WRITE_16:
+ cmd->len = 16;
+ cmd->xfer = buf[14] | (buf[13] << 8) | (buf[12] << 16);
+ if (buf[1] & 0x01) { /* fixed */
+ cmd->xfer *= dev->blocksize;
+ }
+ break;
case REWIND:
case START_STOP:
cmd->len = 6;
diff --git a/hw/scsi-defs.h b/hw/scsi-defs.h
index ca24192..219c84d 100644
--- a/hw/scsi-defs.h
+++ b/hw/scsi-defs.h
@@ -92,6 +92,7 @@
#define PERSISTENT_RESERVE_OUT 0x5f
#define VARLENGTH_CDB 0x7f
#define WRITE_FILEMARKS_16 0x80
+#define READ_REVERSE_16 0x81
#define ALLOW_OVERWRITE 0x82
#define EXTENDED_COPY 0x83
#define ATA_PASSTHROUGH 0x85
--
1.7.9.3
- Re: [Qemu-devel] [PATCH 02/14] scsi: prevent data transfer overflow, (continued)
- [Qemu-devel] [PATCH 07/14] scsi-disk: add dpofua property, Paolo Bonzini, 2012/05/04
- [Qemu-devel] [PATCH 08/14] scsi: do not report bogus overruns for commands in the 0x00-0x1F range, Paolo Bonzini, 2012/05/04
- [Qemu-devel] [PATCH 09/14] scsi: parse 16-byte tape CDBs,
Paolo Bonzini <=
- [Qemu-devel] [PATCH 11/14] scsi: do not require a minimum allocation length for REQUEST SENSE, Paolo Bonzini, 2012/05/04
- [Qemu-devel] [PATCH 12/14] scsi: set VALID bit to 0 in fixed format sense data, Paolo Bonzini, 2012/05/04
- [Qemu-devel] [PATCH 13/14] scsi: remove useless debug messages, Paolo Bonzini, 2012/05/04
- [Qemu-devel] [PATCH 10/14] scsi: do not require a minimum allocation length for INQUIRY, Paolo Bonzini, 2012/05/04
- [Qemu-devel] [PATCH 14/14] scsi: Add assertion for use-after-free errors, Paolo Bonzini, 2012/05/04
- Re: [Qemu-devel] [PULL 00/14] SCSI changes for 1.1, Anthony Liguori, 2012/05/08