/qemu/hw/scsi/ |
H A D | scsi-bus.c | 30 int channel, int id, int lun, in do_scsi_device_find() argument 41 if (dev->lun == lun) { in do_scsi_device_find() 71 SCSIDevice *scsi_device_find(SCSIBus *bus, int channel, int id, int lun) in scsi_device_find() argument 74 return do_scsi_device_find(bus, channel, id, lun, false); in scsi_device_find() 77 SCSIDevice *scsi_device_get(SCSIBus *bus, int channel, int id, int lun) in scsi_device_get() argument 81 d = do_scsi_device_find(bus, channel, id, lun, false); in scsi_device_get() 247 static SCSIRequest *scsi_device_alloc_req(SCSIDevice *s, uint32_t tag, uint32_t lun, in scsi_device_alloc_req() argument 252 return sc->alloc_req(s, tag, lun, buf, hba_private); in scsi_device_alloc_req() 315 int channel, int target, int lun, in scsi_bus_is_address_free() argument 321 d = do_scsi_device_find(bus, channel, target, lun, true); in scsi_bus_is_address_free() [all …]
|
H A D | virtio-scsi.c | 70 static inline int virtio_scsi_get_lun(uint8_t *lun) in virtio_scsi_get_lun() argument 72 return ((lun[2] << 8) | lun[3]) & 0x3FFF; in virtio_scsi_get_lun() 75 static inline SCSIDevice *virtio_scsi_device_get(VirtIOSCSI *s, uint8_t *lun) in virtio_scsi_device_get() argument 77 if (lun[0] != 1) { in virtio_scsi_device_get() 80 if (lun[2] != 0 && !(lun[2] >= 0x40 && lun[2] < 0x80)) { in virtio_scsi_device_get() 83 return scsi_device_get(&s->bus, 0, lun[1], virtio_scsi_get_lun(lun)); in virtio_scsi_device_get() 305 trace_virtio_scsi_tmf_resp(virtio_scsi_get_lun(tmf->req.tmf.lun), in virtio_scsi_tmf_dec_remaining() 343 SCSIDevice *d = virtio_scsi_device_get(s, tmf->req.tmf.lun); in virtio_scsi_do_tmf_aio_context() 460 SCSIDevice *d = virtio_scsi_device_get(s, req->req.tmf.lun); in virtio_scsi_do_tmf() 475 trace_virtio_scsi_tmf_req(virtio_scsi_get_lun(req->req.tmf.lun), in virtio_scsi_do_tmf() [all …]
|
H A D | trace-events | 4 scsi_req_alloc(int target, int lun, int tag) "target %d lun %d tag %d" 5 scsi_req_cancel(int target, int lun, int tag) "target %d lun %d tag %d" 6 scsi_req_data(int target, int lun, int tag, int len) "target %d lun %d tag %d len %d" 7 scsi_req_data_canceled(int target, int lun, int tag, int len) "target %d lun %d tag %d len %d" 8 scsi_req_dequeue(int target, int lun, int tag) "target %d lun %d tag %d" 11 scsi_req_continue(int target, int lun, int tag) "target %d lun %d tag %d" 12 scsi_req_continue_canceled(int target, int lun, int tag) "target %d lun %d tag %d" 13 scsi_req_parsed(int target, int lun, int tag, int cmd, int mode, int xfer) "target %d lun %d tag %d… 14 scsi_req_parsed_lba(int target, int lun, int tag, int cmd, uint64_t lba) "target %d lun %d tag %d c… 15 scsi_req_parse_bad(int target, int lun, int tag, int cmd) "target %d lun %d tag %d command %d" [all …]
|
H A D | spapr_vscsi.c | 146 static SCSIDevice *vscsi_device_find(SCSIBus *bus, uint64_t srp_lun, int *lun) in vscsi_device_find() argument 159 *lun = (srp_lun >> 48) & 0xff; in vscsi_device_find() 163 *lun = (srp_lun >> 48) & 0x3fff; in vscsi_device_find() 168 *lun = (srp_lun >> 48) & 0x1f; in vscsi_device_find() 171 *lun = -1; in vscsi_device_find() 177 return scsi_device_find(bus, channel, id, *lun); in vscsi_device_find() 743 if (dev->channel == 0 && dev->id == 0 && dev->lun == 0) { in vscsi_report_luns() 766 resp_data[i+1] |= dev->lun; in vscsi_report_luns() 785 int n, lun; in vscsi_queue_cmd() local 788 if ((srp->cmd.lun == 0 || be64_to_cpu(srp->cmd.lun) == SRP_REPORT_LUNS_WLUN) in vscsi_queue_cmd() [all …]
|
H A D | vmw_pvscsi.h | 117 uint8_t lun[8]; member 213 uint8_t lun[8]; member 307 uint8_t lun[8]; member
|
H A D | vmw_pvscsi.c | 128 int lun; member 584 msg.lun[1] = dev->lun; in pvscsi_send_msg() 647 uint8_t lun; in pvscsi_queue_pending_descriptor() local 655 *d = pvscsi_device_find(s, descr->bus, descr->target, descr->lun, &lun); in pvscsi_queue_pending_descriptor() 657 pvscsi_req->lun = lun; in pvscsi_queue_pending_descriptor() 720 r->sreq = scsi_req_new(d, descr->context, r->lun, descr->cdb, descr->cdbLen, r); in pvscsi_process_request_descriptor() 864 sdev = pvscsi_device_find(s, 0, cmd->target, cmd->lun, &target_lun); in pvscsi_on_cmd_reset_device()
|
H A D | srp.h | 187 uint64_t lun; member 208 uint64_t lun; member
|
H A D | megasas.c | 776 pd_id = ((sdev->id & 0xFF) << 8) | (sdev->lun & 0xFF); in megasas_ctrl_get_info() 1010 pd_id = ((sdev->id & 0xFF) << 8) | (sdev->lun & 0xFF); in megasas_dcmd_pd_get_list() 1049 static int megasas_pd_get_info_submit(SCSIDevice *sdev, int lun, in megasas_pd_get_info_submit() argument 1055 uint16_t pd_id = ((sdev->id & 0xFF) << 8) | (lun & 0xFF); in megasas_pd_get_info_submit() 1066 cmd->req = scsi_req_new(sdev, cmd->index, lun, cmdbuf, sizeof(cmdbuf), cmd); in megasas_pd_get_info_submit() 1075 "PD get info std inquiry", lun); in megasas_pd_get_info_submit() 1084 cmd->req = scsi_req_new(sdev, cmd->index, lun, cmdbuf, sizeof(cmdbuf), cmd); in megasas_pd_get_info_submit() 1091 "PD get info vpd inquiry", lun); in megasas_pd_get_info_submit() 1243 info.targetid[num_ld_disks] = sdev->lun; in megasas_dcmd_ld_list_query() 1257 static int megasas_ld_get_info_submit(SCSIDevice *sdev, int lun, in megasas_ld_get_info_submit() argument [all …]
|
/qemu/hw/ufs/ |
H A D | lu.c | 107 for (uint8_t lun = 0; lun < UFS_MAX_LUS; ++lun) { in ufs_emulate_report_luns() local 108 if (u->lus[lun]) { in ufs_emulate_report_luns() 115 outbuf[len + 1] = lun; in ufs_emulate_report_luns() 196 uint8_t lun = lu->lun; in ufs_emulate_scsi_cmd() local 229 if (lun == UFS_UPIU_UFS_DEVICE_WLUN) { in ufs_emulate_scsi_cmd() 266 scsi_req_new(lu->scsi_dev, task_tag, lu->lun, req->req_upiu.sc.cdb, in ufs_process_scsi_cmd() 279 DEFINE_PROP_UINT8("lun", UfsLu, lun, 0), 294 if (u->lus[lu->lun] != NULL) { in ufs_add_lu() 295 error_setg(errp, "ufs logical unit %d already exists.", lu->lun); in ufs_add_lu() 299 u->lus[lu->lun] = lu; in ufs_add_lu() [all …]
|
H A D | ufs.h | 79 uint8_t lun; member 223 static inline bool is_wlun(uint8_t lun) in is_wlun() argument 225 return (lun == UFS_UPIU_REPORT_LUNS_WLUN || in is_wlun() 226 lun == UFS_UPIU_UFS_DEVICE_WLUN || lun == UFS_UPIU_BOOT_WLUN || in is_wlun() 227 lun == UFS_UPIU_RPMB_WLUN); in is_wlun()
|
H A D | trace-events | 11 ufs_exec_scsi_cmd(uint32_t slot, uint8_t lun, uint8_t opcode) "slot %"PRIu32", lun 0x%"PRIx8", opco… 30 ufs_err_scsi_cmd_invalid_lun(uint8_t lun) "scsi command has invalid lun: 0x%"PRIx8""
|
H A D | ufs.c | 909 uint8_t lun = req->req_upiu.header.lun; in ufs_exec_scsi_cmd() local 913 trace_ufs_exec_scsi_cmd(req->slot, lun, req->req_upiu.sc.cdb[0]); in ufs_exec_scsi_cmd() 915 if (!is_wlun(lun) && (lun >= UFS_MAX_LUS || u->lus[lun] == NULL)) { in ufs_exec_scsi_cmd() 916 trace_ufs_err_scsi_cmd_invalid_lun(lun); in ufs_exec_scsi_cmd() 920 switch (lun) { in ufs_exec_scsi_cmd() 934 lu = u->lus[lun]; in ufs_exec_scsi_cmd() 1249 uint8_t lun = req->req_upiu.qr.index; in ufs_read_unit_desc() local 1251 if (lun != UFS_UPIU_RPMB_WLUN && in ufs_read_unit_desc() 1252 (lun >= UFS_MAX_LUS || u->lus[lun] == NULL)) { in ufs_read_unit_desc() 1253 trace_ufs_err_query_invalid_index(req->req_upiu.qr.opcode, lun); in ufs_read_unit_desc() [all …]
|
/qemu/contrib/vhost-user-scsi/ |
H A D | vhost-user-scsi.c | 36 VusIscsiLun lun; member 45 static int vus_iscsi_add_lun(VusIscsiLun *lun, char *iscsi_uri) in vus_iscsi_add_lun() argument 51 assert(lun); in vus_iscsi_add_lun() 53 assert(!lun->iscsi_ctx); in vus_iscsi_add_lun() 69 if (iscsi_full_connect_sync(iscsi_ctx, iscsi_url->portal, iscsi_url->lun)) { in vus_iscsi_add_lun() 75 lun->iscsi_ctx = iscsi_ctx; in vus_iscsi_add_lun() 76 lun->iscsi_lun = iscsi_url->lun; in vus_iscsi_add_lun() 140 if (!(!req->lun[1] && req->lun[2] == 0x40 && !req->lun[3])) { in handle_cmd_sync() 143 req->lun[1], req->lun[3]); in handle_cmd_sync() 279 if (handle_cmd_sync(vdev_scsi->lun.iscsi_ctx, in vus_proc_req() [all …]
|
/qemu/pc-bios/s390-ccw/ |
H A D | virtio-scsi.c | 71 req.lun = make_lun(sdev->channel, sdev->target, sdev->lun); in prepare_request() 235 sdev->lun = vdev->selected_scsi_device.lun; in virtio_scsi_locate_device() 239 IPL_check(sdev->lun <= vdev->config.scsi.max_lun, "LUN# high"); in virtio_scsi_locate_device() 246 sdev->lun = 0; /* LUN has to be 0 for REPORT LUNS */ in virtio_scsi_locate_device() 273 sdev->lun = r->lun[0].v16[0]; /* it's returned this way */ in virtio_scsi_locate_device() 274 debug_print_int("Have to use LUN", sdev->lun); in virtio_scsi_locate_device() 278 if (r->lun[i].v64) { in virtio_scsi_locate_device() 280 sdev->lun = r->lun[i].v16[0]; in virtio_scsi_locate_device() 281 debug_print_int("Will use LUN", sdev->lun); in virtio_scsi_locate_device()
|
H A D | scsi.h | 144 ScsiLun lun[1]; /* space for at least 1 lun must be allocated */ member 165 static inline ScsiLun make_lun(uint16_t channel, uint16_t target, uint32_t lun) in make_lun() argument 179 r.v8[2] = (lun >> 8) & 0x3fU; in make_lun() 183 r.v8[3] = lun & 0xffU; in make_lun()
|
H A D | main.c | 231 vdev->selected_scsi_device.lun = iplb.scsi.lun; in find_boot_device()
|
H A D | virtio-scsi.h | 37 ScsiLun lun; member
|
/qemu/include/standard-headers/linux/ |
H A D | virtio_scsi.h | 45 uint8_t lun[8]; /* Logical Unit Number */ member 55 uint8_t lun[8]; /* Logical Unit Number */ member 79 uint8_t lun[8]; member 90 uint8_t lun[8]; member 101 uint8_t lun[8]; member
|
/qemu/block/ |
H A D | iscsi.c | 69 int lun; member 632 iTask.task = iscsi_write16_iov_task(iscsilun->iscsi, iscsilun->lun, lba, in iscsi_co_writev() 638 iTask.task = iscsi_write10_iov_task(iscsilun->iscsi, iscsilun->lun, lba, in iscsi_co_writev() 645 iTask.task = iscsi_write16_task(iscsilun->iscsi, iscsilun->lun, lba, in iscsi_co_writev() 650 iTask.task = iscsi_write10_task(iscsilun->iscsi, iscsilun->lun, lba, 730 if (iscsi_get_lba_status_task(iscsilun->iscsi, iscsilun->lun, in iscsi_co_block_status() 864 iTask.task = iscsi_read16_iov_task(iscsilun->iscsi, iscsilun->lun, lba, in iscsi_co_readv() 870 iTask.task = iscsi_read10_iov_task(iscsilun->iscsi, iscsilun->lun, lba, in iscsi_co_readv() 878 iTask.task = iscsi_read16_task(iscsilun->iscsi, iscsilun->lun, lba, in iscsi_co_readv() 883 iTask.task = iscsi_read10_task(iscsilun->iscsi, iscsilun->lun, lba, [all …]
|
/qemu/include/hw/scsi/ |
H A D | scsi.h | 30 uint32_t lun; member 66 SCSIRequest *(*alloc_req)(SCSIDevice *s, uint32_t tag, uint32_t lun, 86 uint32_t lun; member 208 uint32_t tag, uint32_t lun, void *hba_private); 209 SCSIRequest *scsi_req_new(SCSIDevice *d, uint32_t tag, uint32_t lun, 241 SCSIDevice *scsi_device_find(SCSIBus *bus, int channel, int target, int lun); 242 SCSIDevice *scsi_device_get(SCSIBus *bus, int channel, int target, int lun);
|
/qemu/hw/usb/ |
H A D | dev-uas.c | 72 uint64_t lun; member 94 uint64_t lun; member 141 uint64_t lun; member 554 req->lun = be64_to_cpu(iu->command.lun); in usb_uas_alloc_request() 555 req->dev = usb_uas_get_dev(req->uas, req->lun); in usb_uas_alloc_request() 722 usb_uas_get_lun(req->lun), in usb_uas_command() 723 req->lun >> 32, req->lun & 0xffffffff); in usb_uas_command() 732 usb_uas_get_lun(req->lun), in usb_uas_command() 764 uint64_t lun64 = be64_to_cpu(iu->task.lun); in usb_uas_task() 766 int lun = usb_uas_get_lun(lun64); in usb_uas_task() local [all …]
|
H A D | dev-storage.c | 35 uint8_t lun; member 371 if (scsi_dev->lun != maxlun+1) { in usb_msd_handle_control() 429 scsi_dev = scsi_device_find(&s->bus, 0, 0, cbw.lun); in usb_msd_handle_data() 431 error_report("usb-msd: Bad LUN %d", cbw.lun); in usb_msd_handle_data() 443 trace_usb_msd_cmd_submit(cbw.lun, tag, cbw.flags, in usb_msd_handle_data() 447 s->req = scsi_req_new(scsi_dev, tag, cbw.lun, cbw.cmd, cbw.cmd_len, NULL); in usb_msd_handle_data()
|
/qemu/include/hw/s390x/ipl/ |
H A D | qipl.h | 81 uint64_t lun; member 92 uint32_t lun; member
|
/qemu/tests/qtest/ |
H A D | ufs-test.c | 124 __ufs_send_transfer_request_doorbell(QUfs *ufs, uint8_t lun, in __ufs_send_transfer_request_doorbell() argument 146 __ufs_send_transfer_request_mcq(QUfs *ufs, uint8_t lun, in __ufs_send_transfer_request_mcq() argument 175 ufs_send_transfer_request_sync(QUfs *ufs, uint8_t lun, in ufs_send_transfer_request_sync() argument 179 return __ufs_send_transfer_request_mcq(ufs, lun, utrd); in ufs_send_transfer_request_sync() 182 return __ufs_send_transfer_request_doorbell(ufs, lun, utrd); in ufs_send_transfer_request_sync() 253 ufs_send_scsi_command(QUfs *ufs, uint8_t lun, const uint8_t *cdb, in ufs_send_scsi_command() argument 316 req_upiu.header.lun = lun; in ufs_send_scsi_command() 328 enum UtpOcsCodes ret = ufs_send_transfer_request_sync(ufs, lun, &utrd); in ufs_send_scsi_command()
|
/qemu/include/hw/virtio/ |
H A D | vhost-scsi-common.h | 35 int lun; member
|