Home
last modified time | relevance | path

Searched refs:sense (Results 1 – 25 of 63) sorted by relevance

123

/qemu/scsi/
H A Dutils.c98 SCSISense sense; in scsi_parse_sense_buf() local
106 sense.key = in_buf[2]; in scsi_parse_sense_buf()
107 sense.asc = in_buf[12]; in scsi_parse_sense_buf()
108 sense.ascq = in_buf[13]; in scsi_parse_sense_buf()
113 sense.key = in_buf[1]; in scsi_parse_sense_buf()
114 sense.asc = in_buf[2]; in scsi_parse_sense_buf()
115 sense.ascq = in_buf[3]; in scsi_parse_sense_buf()
118 return sense; in scsi_parse_sense_buf()
121 int scsi_build_sense_buf(uint8_t *out_buf, size_t size, SCSISense sense, in scsi_build_sense_buf() argument
129 buf[2] = sense.key; in scsi_build_sense_buf()
[all …]
H A Dqemu-pr-helper.c128 uint8_t *sense; member
142 memset(data->sense, 0, PR_HELPER_SENSE_SIZE); in do_sgio_worker()
147 io_hdr.sbp = data->sense; in do_sgio_worker()
158 scsi_build_sense(data->sense, sense_code); in do_sgio_worker()
163 scsi_build_sense(data->sense, sense_code); in do_sgio_worker()
180 static int coroutine_fn do_sgio(int fd, const uint8_t *cdb, uint8_t *sense, in do_sgio() argument
188 .sense = sense, in do_sgio()
318 static int coroutine_fn mpath_reconstruct_sense(int fd, int r, uint8_t *sense) in mpath_reconstruct_sense() argument
333 int ret = do_sgio(fd, cdb, sense, NULL, &sz, SG_DXFER_NONE); in mpath_reconstruct_sense()
338 scsi_build_sense(sense, mpath_generic_sense(r)); in mpath_reconstruct_sense()
[all …]
H A Dpr-helper.h37 uint8_t sense[PR_HELPER_SENSE_SIZE]; member
/qemu/hw/scsi/
H A Dscsi-bus.c741 const struct SCSISense sense = SENSE_CODE(LUN_NOT_SUPPORTED); in scsi_target_send_command() local
744 sense, fixed_sense); in scsi_target_send_command()
827 const int memset_off = offsetof(SCSIRequest, sense) in scsi_req_alloc()
828 + sizeof(req->sense); in scsi_req_alloc()
973 ret = scsi_convert_sense(req->sense, req->sense_len, buf, len, true); in scsi_req_get_sense()
994 return scsi_convert_sense(dev->sense, dev->sense_len, buf, len, fixed); in scsi_device_get_sense()
997 void scsi_req_build_sense(SCSIRequest *req, SCSISense sense) in scsi_req_build_sense() argument
1000 sense.key, sense.asc, sense.ascq); in scsi_req_build_sense()
1001 req->sense_len = scsi_build_sense(req->sense, sense); in scsi_req_build_sense()
1487 void scsi_device_report_change(SCSIDevice *dev, SCSISense sense) in scsi_device_report_change() argument
[all …]
H A Dspapr_vscsi.c81 uint8_t sense[SCSI_SENSE_BUF_SIZE]; member
222 req->sense[0] = (0x1 << 7 | 0x70); in vscsi_makeup_sense()
224 req->sense[2] = key; in vscsi_makeup_sense()
226 req->sense[7] = 0xa; /* 10 bytes */ in vscsi_makeup_sense()
228 req->sense[12] = asc; in vscsi_makeup_sense()
229 req->sense[13] = ascq; in vscsi_makeup_sense()
276 memcpy(iu->srp.rsp.data, req->sense, sense_data_len); in vscsi_send_rsp()
566 req->senselen = scsi_req_get_sense(req->sreq, req->sense, in vscsi_command_complete()
567 sizeof(req->sense)); in vscsi_command_complete()
569 req->sense[0], req->sense[1], req->sense[2], req->sense[3], in vscsi_command_complete()
[all …]
H A Dscsi-generic.c77 SCSISense sense; in scsi_command_complete_noio() local
87 status = scsi_sense_from_errno(-ret, &sense); in scsi_command_complete_noio()
89 scsi_req_build_sense(&r->req, sense); in scsi_command_complete_noio()
131 r->io_header.mx_sb_len = sizeof(r->req.sense); in execute_command()
132 r->io_header.sbp = r->req.sense; in execute_command()
287 SCSISense sense = in scsi_read_complete() local
288 scsi_parse_sense_buf(r->req.sense, r->io_header.sb_len_wr); in scsi_read_complete()
295 if (sense.key == ILLEGAL_REQUEST && in scsi_read_complete()
307 if (sense.key) { in scsi_read_complete()
H A Dvmw_pvscsi.c499 pvscsi_write_sense(PVSCSIRequest *r, uint8_t *sense, int len) in pvscsi_write_sense() argument
502 r->sense_key = sense[(sense[0] & 2) ? 1 : 2]; in pvscsi_write_sense()
503 cpu_physical_memory_write(r->req.senseAddr, sense, r->cmp.senseLen); in pvscsi_write_sense()
564 uint8_t sense[SCSI_SENSE_BUF_SIZE]; in pvscsi_command_complete() local
566 scsi_req_get_sense(pvscsi_req->sreq, sense, sizeof(sense)); in pvscsi_command_complete()
569 pvscsi_write_sense(pvscsi_req, sense, sense_len); in pvscsi_command_complete()
H A Dscsi-disk.c135 static void scsi_check_condition(SCSIDiskReq *r, SCSISense sense) in scsi_check_condition() argument
137 trace_scsi_disk_check_condition(r->req.tag, sense.key, sense.asc, in scsi_check_condition()
138 sense.ascq); in scsi_check_condition()
139 scsi_req_build_sense(&r->req, sense); in scsi_check_condition()
226 SCSISense sense = SENSE_CODE(NO_SENSE); in scsi_handle_rw_error() local
248 status = scsi_sense_from_errno(-ret, &sense); in scsi_handle_rw_error()
256 error = scsi_sense_buf_to_errno(r->req.sense, sizeof(r->req.sense)); in scsi_handle_rw_error()
292 scsi_sense_buf_is_guest_recoverable(r->req.sense, in scsi_handle_rw_error()
293 sizeof(r->req.sense)))) { in scsi_handle_rw_error()
313 scsi_req_build_sense(&r->req, sense); in scsi_handle_rw_error()
[all …]
/qemu/include/scsi/
H A Dutils.h49 int scsi_build_sense(uint8_t *buf, SCSISense sense);
51 int scsi_build_sense_buf(uint8_t *buf, size_t max_size, SCSISense sense,
126 int scsi_sense_buf_to_errno(const uint8_t *sense, size_t sense_size);
127 bool scsi_sense_buf_is_guest_recoverable(const uint8_t *sense, size_t sense_size);
144 int scsi_sense_from_errno(int errno_value, SCSISense *sense);
145 int scsi_sense_from_host_status(uint8_t host_status, SCSISense *sense);
/qemu/include/hw/scsi/
H A Dscsi.h44 uint8_t sense[SCSI_SENSE_BUF_SIZE]; member
79 uint8_t sense[SCSI_SENSE_BUF_SIZE]; member
136 void (*change)(SCSIBus *bus, SCSIDevice *dev, SCSISense sense);
204 void scsi_bus_set_ua(SCSIBus *bus, SCSISense sense);
219 void scsi_req_build_sense(SCSIRequest *req, SCSISense sense);
233 void scsi_device_purge_requests(SCSIDevice *sdev, SCSISense sense);
234 void scsi_device_set_ua(SCSIDevice *sdev, SCSISense sense);
235 void scsi_device_report_change(SCSIDevice *dev, SCSISense sense);
/qemu/tests/qtest/
H A Dvirtio-scsi-test.c151 g_assert_cmpint(resp.sense[0], ==, 0x70); /* Fixed format sense buffer */ in qvirtio_scsi_init()
152 g_assert_cmpint(resp.sense[2], ==, UNIT_ATTENTION); in qvirtio_scsi_init()
153 g_assert_cmpint(resp.sense[12], ==, 0x29); /* POWER ON */ in qvirtio_scsi_init()
154 g_assert_cmpint(resp.sense[13], ==, 0x00); in qvirtio_scsi_init()
257 g_assert_cmphex(resp.sense[0], ==, 0x70); in test_write_to_cdrom()
258 g_assert_cmphex(resp.sense[2], ==, DATA_PROTECT); in test_write_to_cdrom()
259 g_assert_cmphex(resp.sense[12], ==, 0x27); /* WRITE PROTECTED */ in test_write_to_cdrom()
260 g_assert_cmphex(resp.sense[13], ==, 0x00); /* WRITE PROTECTED */ in test_write_to_cdrom()
/qemu/hw/usb/
H A Ddev-uas.c101 uas_iu_sense sense; member
420 st->status.sense.status = status; in usb_uas_queue_sense()
421 st->status.sense.status_qualifier = cpu_to_be16(0); in usb_uas_queue_sense()
423 slen = scsi_req_get_sense(req->req, st->status.sense.sense_data, in usb_uas_queue_sense()
424 sizeof(st->status.sense.sense_data)); in usb_uas_queue_sense()
425 st->status.sense.sense_length = cpu_to_be16(slen); in usb_uas_queue_sense()
427 len = sizeof(uas_iu_sense) - sizeof(st->status.sense.sense_data) + slen; in usb_uas_queue_sense()
432 struct SCSISense sense) in usb_uas_queue_fake_sense() argument
437 st->status.sense.status = CHECK_CONDITION; in usb_uas_queue_fake_sense()
438 st->status.sense.status_qualifier = cpu_to_be16(0); in usb_uas_queue_fake_sense()
[all …]
/qemu/hw/intc/
H A Drx_icu.c104 switch (src->sense) { in rxicu_set_irq()
125 if (issue == 0 && src->sense == TRG_LEVEL) { in rxicu_set_irq()
152 if (icu->src[n_IRQ].sense != TRG_LEVEL) { in rxicu_ack_irq()
203 return icu->src[64 + reg].sense << R_IRQCR_IRQMD_SHIFT; in icu_read()
234 if (icu->src[reg].sense != TRG_LEVEL && val == 0) { in icu_write()
264 icu->src[64 + reg].sense = val >> R_IRQCR_IRQMD_SHIFT; in icu_write()
312 icu->src[i].sense = TRG_PEDGE; in rxicu_realize()
316 icu->src[irqno].sense = TRG_LEVEL; in rxicu_realize()
H A Daspeed_vic.c74 if (s->sense & irq_mask) { in aspeed_vic_set_irq()
149 val = s->sense; in aspeed_vic_read()
160 val = s->raw & ~s->sense; in aspeed_vic_read()
258 s->raw &= ~(data & ~s->sense); in aspeed_vic_write()
303 s->sense = 0x1F07FFF8FFFFULL; in aspeed_vic_reset()
335 VMSTATE_UINT64(sense, AspeedVICState),
/qemu/contrib/vhost-user-scsi/
H A Dvhost-user-scsi.c145 memset(rsp->sense, 0, sizeof(rsp->sense)); in handle_cmd_sync()
147 rsp->sense[0] = 0x70; in handle_cmd_sync()
148 rsp->sense[2] = SCSI_SENSE_ILLEGAL_REQUEST; in handle_cmd_sync()
149 rsp->sense[7] = 10; in handle_cmd_sync()
150 rsp->sense[12] = 0x24; in handle_cmd_sync()
201 memcpy(rsp->sense, &task->datain.data[2], rsp->sense_len); in handle_cmd_sync()
/qemu/hw/display/
H A Dmacfb.c81 uint8_t sense; member
346 uint8_t sense; in macfb_sense_read() local
350 if (macfb_sense->sense == 0x7) { in macfb_sense_read()
352 sense = 0; in macfb_sense_read()
356 sense = (~s->regs[DAFB_MODE_SENSE >> 2] & 7) | 3; in macfb_sense_read()
362 sense = (~s->regs[DAFB_MODE_SENSE >> 2] & 7) | 6; in macfb_sense_read()
368 sense = (~s->regs[DAFB_MODE_SENSE >> 2] & 7) | 5; in macfb_sense_read()
373 sense = (~macfb_sense->sense & 7) | in macfb_sense_read()
377 trace_macfb_sense_read(sense); in macfb_sense_read()
378 return sense; in macfb_sense_read()
/qemu/scripts/coccinelle/
H A Dqobject.cocci1 // Use QDict macros where they make sense
28 // Use QList macros where they make sense
H A Duse-g_new-etc.cocci1 // Use g_new() & friends where that makes obvious sense
/qemu/hw/ufs/
H A Dlu.c24 static void ufs_build_upiu_sense_data(UfsRequest *req, uint8_t *sense, in ufs_build_upiu_sense_data() argument
29 memcpy(req->rsp_upiu.sr.sense_data, sense, sense_len); in ufs_build_upiu_sense_data()
32 static void ufs_build_scsi_response_upiu(UfsRequest *req, uint8_t *sense, in ufs_build_scsi_response_upiu() argument
52 ufs_build_upiu_sense_data(req, sense, sense_len); in ufs_build_scsi_response_upiu()
69 ufs_build_scsi_response_upiu(req, scsi_req->sense, scsi_req->sense_len, in ufs_scsi_command_complete()
/qemu/pc-bios/s390-ccw/
H A Dvirtio-scsi.c55 resp->sense_len ? scsi_cdb_asc_msg(resp->sense) in virtio_scsi_verify_response()
57 scsi_sense_response(resp->sense) == 0x70 ? ", sure" : "?", in virtio_scsi_verify_response()
373 uint8_t code = resp.sense[0] & SCSI_SENSE_CODE_MASK; in virtio_scsi_setup()
374 uint8_t sense_key = resp.sense[2] & SCSI_SENSE_KEY_MASK; in virtio_scsi_setup()
H A Dvirtio-scsi.h52 uint8_t sense[VIRTIO_SCSI_SENSE_SIZE]; member
/qemu/include/hw/intc/
H A Daspeed_vic.h40 uint64_t sense; member
H A Drx_icu.h35 enum TRG_MODE sense; member
/qemu/docs/interop/
H A Dpr-helper.rst73 - 96 bytes for the SCSI sense data
77 The sense data is always sent to keep the protocol simple, even though
/qemu/block/
H A Discsi.c228 static int iscsi_translate_sense(struct scsi_sense *sense) in iscsi_translate_sense() argument
230 return scsi_sense_to_errno(sense->key, in iscsi_translate_sense()
231 (sense->ascq & 0xFF00) >> 8, in iscsi_translate_sense()
232 sense->ascq & 0xFF); in iscsi_translate_sense()
274 int error = iscsi_translate_sense(&task->sense); in iscsi_co_generic_cb()
977 acb->status = -iscsi_translate_sense(&acb->task->sense); in iscsi_aio_ioctl_cb()
1288 iTask.task->sense.key == SCSI_SENSE_ILLEGAL_REQUEST && in iscsi_co_pwrite_zeroes()
1289 (iTask.task->sense.ascq == SCSI_SENSE_ASCQ_INVALID_OPERATION_CODE || in iscsi_co_pwrite_zeroes()
1290 iTask.task->sense.ascq == SCSI_SENSE_ASCQ_INVALID_FIELD_IN_CDB)) { in iscsi_co_pwrite_zeroes()
1460 && task->sense.key == SCSI_SENSE_UNIT_ATTENTION) { in iscsi_readcapacity_sync()
[all …]

123