Linux Kernel
3.7.1
|
#include <linux/kernel.h>
#include <linux/wait.h>
#include <linux/sched.h>
#include <linux/completion.h>
#include <linux/string.h>
#include <linux/mm.h>
#include <linux/delay.h>
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/module.h>
#include <linux/device.h>
#include <linux/hyperv.h>
#include <linux/mempool.h>
#include <scsi/scsi.h>
#include <scsi/scsi_cmnd.h>
#include <scsi/scsi_host.h>
#include <scsi/scsi_device.h>
#include <scsi/scsi_tcq.h>
#include <scsi/scsi_eh.h>
#include <scsi/scsi_devinfo.h>
#include <scsi/scsi_dbg.h>
Go to the source code of this file.
Data Structures | |
struct | vmscsi_request |
struct | vmstorage_channel_properties |
struct | vmstorage_protocol_version |
struct | vstor_packet |
struct | storvsc_cmd_request |
struct | storvsc_device |
struct | stor_mem_pools |
struct | hv_host_device |
struct | storvsc_scan_work |
Macros | |
#define | VMSTOR_CURRENT_MAJOR 4 |
#define | VMSTOR_CURRENT_MINOR 2 |
#define | STORVSC_MAX_CMD_LEN 0x10 |
#define | STORVSC_SENSE_BUFFER_SIZE 0x12 |
#define | STORVSC_MAX_BUF_LEN_WITH_PADDING 0x14 |
#define | STORAGE_CHANNEL_REMOVABLE_FLAG 0x1 |
#define | STORAGE_CHANNEL_EMULATED_IDE_FLAG 0x2 |
#define | REQUEST_COMPLETION_FLAG 0x1 |
#define | SRB_STATUS_AUTOSENSE_VALID 0x80 |
#define | SRB_STATUS_INVALID_LUN 0x20 |
#define | SRB_STATUS_SUCCESS 0x01 |
#define | SRB_STATUS_ERROR 0x04 |
#define | STORVSC_MIN_BUF_NR 64 |
#define | STORVSC_MAX_IO_REQUESTS 128 |
#define | STORVSC_MAX_LUNS_PER_TARGET 64 |
#define | STORVSC_MAX_TARGETS 1 |
#define | STORVSC_MAX_CHANNELS 1 |
Enumerations | |
enum | vstor_packet_operation { VSTOR_OPERATION_COMPLETE_IO = 1, VSTOR_OPERATION_REMOVE_DEVICE = 2, VSTOR_OPERATION_EXECUTE_SRB = 3, VSTOR_OPERATION_RESET_LUN = 4, VSTOR_OPERATION_RESET_ADAPTER = 5, VSTOR_OPERATION_RESET_BUS = 6, VSTOR_OPERATION_BEGIN_INITIALIZATION = 7, VSTOR_OPERATION_END_INITIALIZATION = 8, VSTOR_OPERATION_QUERY_PROTOCOL_VERSION = 9, VSTOR_OPERATION_QUERY_PROPERTIES = 10, VSTOR_OPERATION_ENUMERATE_BUS = 11, VSTOR_OPERATION_MAXIMUM = 11 } |
enum | storvsc_request_type { WRITE_TYPE = 0, READ_TYPE, UNKNOWN_TYPE } |
enum | { SCSI_GUID, IDE_GUID } |
Functions | |
struct vmscsi_request | __attribute ((packed)) |
module_param (storvsc_ringbuffer_size, int, S_IRUGO) | |
MODULE_PARM_DESC (storvsc_ringbuffer_size,"Ring buffer size (bytes)") | |
MODULE_DEVICE_TABLE (vmbus, id_table) | |
MODULE_LICENSE ("GPL") | |
MODULE_VERSION (HV_DRV_VERSION) | |
MODULE_DESCRIPTION ("Microsoft Hyper-V virtual storage driver") | |
module_init (storvsc_drv_init) | |
module_exit (storvsc_drv_exit) | |
#define REQUEST_COMPLETION_FLAG 0x1 |
Definition at line 188 of file storvsc_drv.c.
#define SRB_STATUS_AUTOSENSE_VALID 0x80 |
Definition at line 201 of file storvsc_drv.c.
#define SRB_STATUS_ERROR 0x04 |
Definition at line 204 of file storvsc_drv.c.
#define SRB_STATUS_INVALID_LUN 0x20 |
Definition at line 202 of file storvsc_drv.c.
#define SRB_STATUS_SUCCESS 0x01 |
Definition at line 203 of file storvsc_drv.c.
#define STORAGE_CHANNEL_EMULATED_IDE_FLAG 0x2 |
Definition at line 153 of file storvsc_drv.c.
#define STORAGE_CHANNEL_REMOVABLE_FLAG 0x1 |
Definition at line 152 of file storvsc_drv.c.
#define STORVSC_MAX_BUF_LEN_WITH_PADDING 0x14 |
Definition at line 87 of file storvsc_drv.c.
#define STORVSC_MAX_CHANNELS 1 |
Definition at line 233 of file storvsc_drv.c.
#define STORVSC_MAX_CMD_LEN 0x10 |
Definition at line 85 of file storvsc_drv.c.
#define STORVSC_MAX_IO_REQUESTS 128 |
Definition at line 223 of file storvsc_drv.c.
#define STORVSC_MAX_LUNS_PER_TARGET 64 |
Definition at line 231 of file storvsc_drv.c.
#define STORVSC_MAX_TARGETS 1 |
Definition at line 232 of file storvsc_drv.c.
#define STORVSC_MIN_BUF_NR 64 |
Definition at line 217 of file storvsc_drv.c.
#define STORVSC_SENSE_BUFFER_SIZE 0x12 |
Definition at line 86 of file storvsc_drv.c.
#define VMSTOR_CURRENT_MAJOR 4 |
Definition at line 60 of file storvsc_drv.c.
#define VMSTOR_CURRENT_MINOR 2 |
Definition at line 61 of file storvsc_drv.c.
anonymous enum |
Definition at line 1406 of file storvsc_drv.c.
enum storvsc_request_type |
Definition at line 191 of file storvsc_drv.c.
Definition at line 65 of file storvsc_drv.c.
struct vmscsi_request __attribute | ( | (packed) | ) |
MODULE_DEVICE_TABLE | ( | vmbus | , |
id_table | |||
) |
module_exit | ( | storvsc_drv_exit | ) |
module_init | ( | storvsc_drv_init | ) |
MODULE_LICENSE | ( | "GPL" | ) |
MODULE_VERSION | ( | HV_DRV_VERSION | ) |
union { ... } |
u8 cdb[STORVSC_MAX_CMD_LEN] |
Definition at line 129 of file storvsc_drv.c.
u8 cdb_length |
Definition at line 121 of file storvsc_drv.c.
u8 data_in |
Definition at line 123 of file storvsc_drv.c.
u32 data_transfer_length |
Definition at line 126 of file storvsc_drv.c.
u16 length |
Definition at line 112 of file storvsc_drv.c.
u8 lun |
Definition at line 119 of file storvsc_drv.c.
u8 path_id |
Definition at line 117 of file storvsc_drv.c.
u8 port_number |
Definition at line 116 of file storvsc_drv.c.
u8 reserved |
Definition at line 124 of file storvsc_drv.c.
u8 reserved_array[STORVSC_MAX_BUF_LEN_WITH_PADDING] |
Definition at line 131 of file storvsc_drv.c.
u8 scsi_status |
Definition at line 114 of file storvsc_drv.c.
Definition at line 130 of file storvsc_drv.c.
u8 sense_info_length |
Definition at line 122 of file storvsc_drv.c.
u8 srb_status |
Definition at line 113 of file storvsc_drv.c.
u8 target_id |
Definition at line 118 of file storvsc_drv.c.