summaryrefslogtreecommitdiffstats
path: root/hw/scsi/srp.h
diff options
context:
space:
mode:
authorAlexey Kardashevskiy2013-07-29 06:49:29 +0200
committerPaolo Bonzini2013-09-12 08:46:21 +0200
commiteb37f14658df23c51f172bddb0c45eecf408927c (patch)
treeb20a80688ffca514d5c3f5310209b4e67bcfd96e /hw/scsi/srp.h
parentscsi: prefer UUID to VM name for the initiator name (diff)
downloadqemu-eb37f14658df23c51f172bddb0c45eecf408927c.tar.gz
qemu-eb37f14658df23c51f172bddb0c45eecf408927c.tar.xz
qemu-eb37f14658df23c51f172bddb0c45eecf408927c.zip
spapr-vscsi: add task management
At the moment the guest kernel issues two types of task management requests to the hypervisor - task about and lun reset. This adds handling for these tasks. As spapr-vscsi starts calling scsi_req_cancel(), free_request callback was implemented. As virtio-vscsi, spapr-vscsi does not handle CLEAR_ACA either as CDB control byte does not seem to be used at all so NACA bit is not set to the guest so the guest has no good reason to call CLEAR_ACA task. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> [Fix choice of UCSOLCNT vs. SCSOLCNT. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'hw/scsi/srp.h')
-rw-r--r--hw/scsi/srp.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/hw/scsi/srp.h b/hw/scsi/srp.h
index 5e0cad5c19..d27f31d2d5 100644
--- a/hw/scsi/srp.h
+++ b/hw/scsi/srp.h
@@ -90,6 +90,13 @@ enum {
SRP_REV16A_IB_IO_CLASS = 0x0100
};
+enum {
+ SRP_TSK_MGMT_COMPLETE = 0x00,
+ SRP_TSK_MGMT_FIELDS_INVALID = 0x02,
+ SRP_TSK_MGMT_NOT_SUPPORTED = 0x04,
+ SRP_TSK_MGMT_FAILED = 0x05
+};
+
struct srp_direct_buf {
uint64_t va;
uint32_t key;