Displaying 9 results from an estimated 9 matches for "sg_io_hdr".
2007 Nov 28
8
SCSI passthrough using /dev/sgX
Is anyone working on SCSI passthrough using the ''SCSI Generic'' support
under Linux, eg /dev/sgX? This is how VMWare allows a VM to use SCSI
devices.
Thanks
James
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
2009 Oct 27
0
[PATCH 4/4] megasas: Add SCSI command emulation
...les changed, 53 insertions(+), 35 deletions(-)
diff --git a/hw/megasas.c b/hw/megasas.c
index a57e8e0..f32b313 100644
--- a/hw/megasas.c
+++ b/hw/megasas.c
@@ -661,40 +661,55 @@ static int megasas_handle_scsi(MPTState *s, uint8_t fcmd,
}
}
- memset(&cmd->hdr, 0, sizeof(struct sg_io_hdr));
- cmd->hdr.interface_id = 'S';
- cmd->hdr.cmd_len = cdb_len;
- cmd->hdr.cmdp = cdb;
- cmd->hdr.iovec_count = cmd->sge_count;
- cmd->hdr.dxferp = cmd->iov;
- for (n = 0; n < cmd->sge_count; n++)
- cmd->hdr.dxfer_len += cmd->iov[n].iov_len...
2009 Oct 27
0
[PATCH 4/4] megasas: Add SCSI command emulation
...les changed, 53 insertions(+), 35 deletions(-)
diff --git a/hw/megasas.c b/hw/megasas.c
index a57e8e0..f32b313 100644
--- a/hw/megasas.c
+++ b/hw/megasas.c
@@ -661,40 +661,55 @@ static int megasas_handle_scsi(MPTState *s, uint8_t fcmd,
}
}
- memset(&cmd->hdr, 0, sizeof(struct sg_io_hdr));
- cmd->hdr.interface_id = 'S';
- cmd->hdr.cmd_len = cdb_len;
- cmd->hdr.cmdp = cdb;
- cmd->hdr.iovec_count = cmd->sge_count;
- cmd->hdr.dxferp = cmd->iov;
- for (n = 0; n < cmd->sge_count; n++)
- cmd->hdr.dxfer_len += cmd->iov[n].iov_len...
2009 Oct 27
1
[PATCH 2/4] megasas: LSI MegaRAID SAS HBA emulation
...CB *aiocb;
+};
+
+struct megasas_cmd_t {
+ int index;
+
+ uint32_t context;
+ target_phys_addr_t pa;
+ uint16_t flags;
+ uint8_t sge_count;
+ uint32_t sge_size;
+ uint8_t *sense;
+ uint8_t sense_len;
+ struct iovec iov[MEGASAS_MAX_SGE];
+ QEMUIOVector qiov;
+ struct sg_io_hdr hdr;
+
+ struct megasas_state_t *state;
+ struct megasas_lun_t *lun;
+};
+
+typedef struct megasas_state_t {
+ PCIDevice dev;
+ int mmio_io_addr;
+
+ int fw_state;
+ int fw_sge;
+ int fw_cmds;
+ int intr_mask;
+ int doorbell;
+
+ target_phys_addr_t reply_queue_pa;
+...
2009 Oct 27
1
[PATCH 2/4] megasas: LSI MegaRAID SAS HBA emulation
...CB *aiocb;
+};
+
+struct megasas_cmd_t {
+ int index;
+
+ uint32_t context;
+ target_phys_addr_t pa;
+ uint16_t flags;
+ uint8_t sge_count;
+ uint32_t sge_size;
+ uint8_t *sense;
+ uint8_t sense_len;
+ struct iovec iov[MEGASAS_MAX_SGE];
+ QEMUIOVector qiov;
+ struct sg_io_hdr hdr;
+
+ struct megasas_state_t *state;
+ struct megasas_lun_t *lun;
+};
+
+typedef struct megasas_state_t {
+ PCIDevice dev;
+ int mmio_io_addr;
+
+ int fw_state;
+ int fw_sge;
+ int fw_cmds;
+ int intr_mask;
+ int doorbell;
+
+ target_phys_addr_t reply_queue_pa;
+...
2017 Jan 28
6
make SCSI passthrough support optional
Hi all,
this series builds on my previous changes in Jens' for-4.11/rq-refactor
branch that split out the BLOCK_PC fields from struct request into a new
struct scsi_request, and makes support for struct scsi_request and the
SCSI passthrough ioctls optional. It is now only enabled by drivers that
need it.
In addition I've made SCSI passthrough support in the virtio_blk driver an
optional
2017 Jan 28
6
make SCSI passthrough support optional
Hi all,
this series builds on my previous changes in Jens' for-4.11/rq-refactor
branch that split out the BLOCK_PC fields from struct request into a new
struct scsi_request, and makes support for struct scsi_request and the
SCSI passthrough ioctls optional. It is now only enabled by drivers that
need it.
In addition I've made SCSI passthrough support in the virtio_blk driver an
optional
2012 Apr 20
1
[PATCH] multiqueue: a hodge podge of things
...truct blk_queue_ctx *ctx)
+{
+ spin_unlock(q->queue_lock);
+ spin_lock(&ctx->lock);
+}
+
+#endif
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 2aa2466..6a3ab7a 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -32,30 +32,18 @@ struct request;
struct sg_io_hdr;
struct bsg_job;
#define BLKDEV_MIN_RQ 4
#define BLKDEV_MAX_RQ 128 /* Default maximum */
struct request;
typedef void (rq_end_io_fn)(struct request *, int);
-struct request_list {
- /*
- * count[], starved[], and wait[] are indexed by
- * BLK_RW_SYNC/BLK_RW_ASYNC
- */
- int count[2];...
2012 Apr 20
1
[PATCH] multiqueue: a hodge podge of things
...truct blk_queue_ctx *ctx)
+{
+ spin_unlock(q->queue_lock);
+ spin_lock(&ctx->lock);
+}
+
+#endif
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 2aa2466..6a3ab7a 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -32,30 +32,18 @@ struct request;
struct sg_io_hdr;
struct bsg_job;
#define BLKDEV_MIN_RQ 4
#define BLKDEV_MAX_RQ 128 /* Default maximum */
struct request;
typedef void (rq_end_io_fn)(struct request *, int);
-struct request_list {
- /*
- * count[], starved[], and wait[] are indexed by
- * BLK_RW_SYNC/BLK_RW_ASYNC
- */
- int count[2];...