/qemu/tests/unit/ |
H A D | test-iov.c | 9 struct iovec *iov = g_malloc(niov * sizeof(*iov)); in iov_random() local 13 iov[i].iov_base = g_malloc(iov[i].iov_len); in iov_random() 15 *iovp = iov; in iov_random() 25 g_free(iov); in iov_free() 175 siov = g_memdup2(iov, sizeof(*iov) * niov); in test_io() 354 iov_orig = g_memdup2(iov, sizeof(iov[0]) * iov_cnt); in test_discard_front_undo() 365 iov_orig = g_memdup2(iov, sizeof(iov[0]) * iov_cnt); in test_discard_front_undo() 377 iov_orig = g_memdup2(iov, sizeof(iov[0]) * iov_cnt); in test_discard_front_undo() 389 iov_orig = g_memdup2(iov, sizeof(iov[0]) * iov_cnt); in test_discard_front_undo() 401 iov_orig = g_memdup2(iov, sizeof(iov[0]) * iov_cnt); in test_discard_front_undo() [all …]
|
/qemu/util/ |
H A D | iov.c | 161 iov = local_iov; in iov_send_recv() 287 qiov->iov = iov; in qemu_iovec_init_external() 301 qiov->iov = g_renew(struct iovec, qiov->iov, qiov->nalloc); in qemu_iovec_add() 373 iov++; in iov_skip_offset() 377 return iov; in iov_skip_offset() 395 iov = iov_skip_offset(qiov->iov, offset, head); in qemu_iovec_slice() 406 return iov; in qemu_iovec_slice() 429 iov = iov_skip_offset(qiov->iov, offset, ¤t_offset); in qemu_iovec_is_zero() 441 iov++; in qemu_iovec_is_zero() 523 assert(a->iov[i].iov_len == b->iov[i].iov_len); in qemu_iovec_compare() [all …]
|
H A D | crc32c.c | 116 uint32_t iov_crc32c(uint32_t crc, const struct iovec *iov, size_t iov_cnt) in iov_crc32c() argument 119 crc = crc32c(crc, iov->iov_base, iov->iov_len) ^ 0xffffffff; in iov_crc32c() 120 iov++; in iov_crc32c()
|
/qemu/include/qemu/ |
H A D | iov.h | 41 iov_from_buf(const struct iovec *iov, unsigned int iov_cnt, in iov_from_buf() argument 45 offset <= iov[0].iov_len && bytes <= iov[0].iov_len - offset) { in iov_from_buf() 46 memcpy(iov[0].iov_base + offset, buf, bytes); in iov_from_buf() 58 offset <= iov[0].iov_len && bytes <= iov[0].iov_len - offset) { in iov_to_buf() 59 memcpy(buf, iov[0].iov_base + offset, bytes); in iov_to_buf() 98 #define iov_recv(sockfd, iov, iov_cnt, offset, bytes) \ argument 99 iov_send_recv(sockfd, iov, iov_cnt, offset, bytes, false) 100 #define iov_send(sockfd, iov, iov_cnt, offset, bytes) \ argument 101 iov_send_recv(sockfd, iov, iov_cnt, offset, bytes, true) 157 struct iovec *iov; member [all …]
|
/qemu/crypto/ |
H A D | hash.c | 42 const struct iovec *iov, in qcrypto_hash_bytesv() argument 54 ret = qcrypto_hash_afalg_driver.hash_bytesv(alg, iov, niov, in qcrypto_hash_bytesv() 62 return qcrypto_hash_lib_driver.hash_bytesv(alg, iov, niov, in qcrypto_hash_bytesv() 75 struct iovec iov = { .iov_base = (char *)buf, in qcrypto_hash_bytes() local 77 return qcrypto_hash_bytesv(alg, &iov, 1, result, resultlen, errp); in qcrypto_hash_bytes() 83 const struct iovec *iov, in qcrypto_hash_digestv() argument 112 struct iovec iov = { .iov_base = (char *)buf, .iov_len = len }; in qcrypto_hash_digest() local 114 return qcrypto_hash_digestv(alg, &iov, 1, digest, errp); in qcrypto_hash_digest() 118 const struct iovec *iov, in qcrypto_hash_base64v() argument 141 struct iovec iov = { .iov_base = (char *)buf, .iov_len = len }; in qcrypto_hash_base64() local [all …]
|
H A D | hmac.c | 19 const struct iovec *iov, in qcrypto_hmac_bytesv() argument 27 return drv->hmac_bytesv(hmac, iov, niov, result, resultlen, errp); in qcrypto_hmac_bytesv() 37 struct iovec iov = { in qcrypto_hmac_bytes() local 42 return qcrypto_hmac_bytesv(hmac, &iov, 1, result, resultlen, errp); in qcrypto_hmac_bytes() 46 const struct iovec *iov, in qcrypto_hmac_digestv() argument 55 if (qcrypto_hmac_bytesv(hmac, iov, niov, &result, &resultlen, errp) < 0) { in qcrypto_hmac_digestv() 78 struct iovec iov = { in qcrypto_hmac_digest() local 83 return qcrypto_hmac_digestv(hmac, &iov, 1, digest, errp); in qcrypto_hmac_digest()
|
H A D | hash-afalg.c | 119 const struct iovec *iov, in qcrypto_afalg_hash_hmac_bytesv() argument 150 ret = iov_send_recv(afalg->opfd, iov, niov, in qcrypto_afalg_hash_hmac_bytesv() 151 0, iov_size(iov, niov), true); in qcrypto_afalg_hash_hmac_bytesv() 177 const struct iovec *iov, in qcrypto_afalg_hash_bytesv() argument 182 return qcrypto_afalg_hash_hmac_bytesv(NULL, alg, iov, niov, result, in qcrypto_afalg_hash_bytesv() 188 const struct iovec *iov, in qcrypto_afalg_hmac_bytesv() argument 194 iov, niov, result, resultlen, in qcrypto_afalg_hmac_bytesv()
|
/qemu/io/ |
H A D | channel.c | 52 const struct iovec *iov, in qio_channel_readv_full() argument 80 const struct iovec *iov, in qio_channel_writev_full() argument 152 iov, niov, in qio_channel_readv_full_all_eof() 153 0, iov_size(iov, niov)); in qio_channel_readv_full_all_eof() 258 iov, niov, in qio_channel_writev_full_all() 259 0, iov_size(iov, niov)); in qio_channel_writev_full_all() 292 const struct iovec *iov, in qio_channel_readv() argument 301 const struct iovec *iov, in qio_channel_writev() argument 345 return qio_channel_readv_all(ioc, &iov, 1, errp); in qio_channel_read_all() 478 struct iovec iov = { in qio_channel_pwrite() local [all …]
|
H A D | channel-buffer.c | 53 const struct iovec *iov, in qio_channel_buffer_readv() argument 65 size_t want = iov[i].iov_len; in qio_channel_buffer_readv() 72 memcpy(iov[i].iov_base, bioc->data + bioc->offset, want); in qio_channel_buffer_readv() 81 const struct iovec *iov, in qio_channel_buffer_writev() argument 94 towrite += iov[i].iov_len; in qio_channel_buffer_writev() 109 iov[i].iov_base, in qio_channel_buffer_writev() 110 iov[i].iov_len); in qio_channel_buffer_writev() 111 bioc->usage += iov[i].iov_len; in qio_channel_buffer_writev() 112 bioc->offset += iov[i].iov_len; in qio_channel_buffer_writev() 113 ret += iov[i].iov_len; in qio_channel_buffer_writev()
|
H A D | channel-file.c | 106 const struct iovec *iov, in qio_channel_file_readv() argument 117 ret = readv(fioc->fd, iov, niov); in qio_channel_file_readv() 135 const struct iovec *iov, in qio_channel_file_writev() argument 146 ret = writev(fioc->fd, iov, niov); in qio_channel_file_writev() 163 const struct iovec *iov, in qio_channel_file_preadv() argument 172 ret = preadv(fioc->fd, iov, niov, offset); in qio_channel_file_preadv() 189 const struct iovec *iov, in qio_channel_file_pwritev() argument 198 ret = pwritev(fioc->fd, iov, niov, offset); in qio_channel_file_pwritev()
|
/qemu/system/ |
H A D | dma-helpers.c | 70 QEMUIOVector iov; member 92 for (i = 0; i < dbs->iov.niov; ++i) { in dma_blk_unmap() 93 dma_memory_unmap(dbs->sg->as, dbs->iov.iov[i].iov_base, in dma_blk_unmap() 94 dbs->iov.iov[i].iov_len, dbs->dir, in dma_blk_unmap() 95 dbs->iov.iov[i].iov_len); in dma_blk_unmap() 97 qemu_iovec_reset(&dbs->iov); in dma_blk_unmap() 109 qemu_iovec_destroy(&dbs->iov); in dma_complete() 126 dbs->offset += dbs->iov.size; in dma_blk_cb() 149 if (ranges_overlap((intptr_t)dbs->iov.iov[i].iov_base, in dma_blk_cb() 150 dbs->iov.iov[i].iov_len, (intptr_t)mem, in dma_blk_cb() [all …]
|
/qemu/hw/usb/ |
H A D | libhw.c | 47 qemu_iovec_add(&p->iov, mem, xlen); in usb_packet_map() 65 for (i = 0; i < p->iov.niov; i++) { in usb_packet_unmap() 66 dma_memory_unmap(sgl->as, p->iov.iov[i].iov_base, in usb_packet_unmap() 67 p->iov.iov[i].iov_len, dir, in usb_packet_unmap() 68 p->iov.iov[i].iov_len); in usb_packet_unmap()
|
H A D | core.c | 134 if (p->iov.size != 8) { in do_token_setup() 531 qemu_iovec_init(&p->iov, 1); in usb_packet_init() 587 assert(p->iov.iov != NULL); in usb_packet_setup() 598 qemu_iovec_reset(&p->iov); in usb_packet_setup() 609 QEMUIOVector *iov = p->combined ? &p->combined->iov : &p->iov; in usb_packet_copy() local 616 iov_to_buf(iov->iov, iov->niov, p->actual_length, ptr, bytes); in usb_packet_copy() 619 iov_from_buf(iov->iov, iov->niov, p->actual_length, ptr, bytes); in usb_packet_copy() 630 QEMUIOVector *iov = p->combined ? &p->combined->iov : &p->iov; in usb_packet_skip() local 635 iov_memset(iov->iov, iov->niov, p->actual_length, 0, bytes); in usb_packet_skip() 642 return p->combined ? p->combined->iov.size : p->iov.size; in usb_packet_size() [all …]
|
H A D | combined-packet.c | 30 qemu_iovec_concat(&combined->iov, &p->iov, 0, p->iov.size); in usb_combined_packet_add() 43 qemu_iovec_destroy(&combined->iov); in usb_combined_packet_remove() 71 if (actual_length >= p->iov.size) { in usb_combined_input_packet_complete() 72 p->actual_length = p->iov.size; in usb_combined_input_packet_complete() 161 qemu_iovec_init(&combined->iov, 2); in usb_ep_combine_input_packets() 170 totalsize = (p->combined) ? p->combined->iov.size : p->iov.size; in usb_ep_combine_input_packets() 171 if ((p->iov.size % ep->max_packet_size) != 0 || !p->short_not_ok || in usb_ep_combine_input_packets()
|
H A D | dev-storage.c | 214 len = p->iov.size - p->actual_length; in usb_msd_copy_data() 234 p->iov.size); in usb_msd_send_status() 237 len = MIN(sizeof(s->csw), p->iov.size); in usb_msd_send_status() 257 if (p && p->actual_length == p->iov.size) { in usb_msd_transfer_data() 420 if (p->iov.size != 31) { in usb_msd_handle_data() 460 if (p->iov.size > s->data_len) { in usb_msd_handle_data() 468 len = p->iov.size - p->actual_length; in usb_msd_handle_data() 480 if (p->actual_length < p->iov.size) { in usb_msd_handle_data() 498 if (s->data_len != 0 || p->iov.size < 13) { in usb_msd_handle_data() 508 if (p->iov.size < 13) { in usb_msd_handle_data() [all …]
|
/qemu/hw/misc/ |
H A D | aspeed_hace.c | 125 uint8_t *padding = iov->iov_base; in has_padding() 145 iov[i].iov_base = s->iov_cache[i].iov_base; in reconstruct_iov() 146 iov[i].iov_len = s->iov_cache[i].iov_len; in reconstruct_iov() 178 iov[id].iov_len = *req_len; in gen_acc_mode_iov() 191 struct iovec iov[ASPEED_HACE_MAX_SG]; in do_hash_operation() local 227 iov[i].iov_base = haddr; in do_hash_operation() 232 iov[i].iov_len = plen; in do_hash_operation() 244 iov[0].iov_base = haddr; in do_hash_operation() 245 iov[0].iov_len = len; in do_hash_operation() 282 iov[i - 1].iov_len, false, in do_hash_operation() [all …]
|
/qemu/include/io/ |
H A D | channel.h | 112 const struct iovec *iov, 119 const struct iovec *iov, 135 const struct iovec *iov, 140 const struct iovec *iov, 242 const struct iovec *iov, 286 const struct iovec *iov, 346 const struct iovec *iov, 386 const struct iovec *iov, 401 const struct iovec *iov, 559 ssize_t qio_channel_pwritev(QIOChannel *ioc, const struct iovec *iov, [all …]
|
/qemu/net/ |
H A D | queue.c | 119 const struct iovec *iov, in qemu_net_queue_append_iov() argument 131 max_len += iov[i].iov_len; in qemu_net_queue_append_iov() 141 size_t len = iov[i].iov_len; in qemu_net_queue_append_iov() 143 memcpy(packet->data + packet->size, iov[i].iov_base, len); in qemu_net_queue_append_iov() 158 struct iovec iov = { in qemu_net_queue_deliver() local 164 ret = queue->deliver(sender, flags, &iov, 1, queue->opaque); in qemu_net_queue_deliver() 173 const struct iovec *iov, in qemu_net_queue_deliver_iov() argument 179 ret = queue->deliver(sender, flags, iov, iovcnt, queue->opaque); in qemu_net_queue_deliver_iov() 197 const struct iovec *iov, in qemu_net_queue_receive_iov() argument 204 return qemu_net_queue_deliver_iov(queue, NULL, 0, iov, iovcnt); in qemu_net_queue_receive_iov() [all …]
|
H A D | eth.c | 91 const struct iovec *iov, int iovcnt, in _eth_copy_chunk() argument 101 copied = iov_to_buf(iov, iovcnt, offset, buffer, length); in _eth_copy_chunk() 140 size_t input_size = iov_size(iov, iovcnt); in eth_get_protocols() 148 proto = eth_get_l3_proto(iov, iovcnt, *l3hdr_off); in eth_get_protocols() 189 iov, iovcnt, in eth_get_protocols() 207 iov, iovcnt, in eth_get_protocols() 222 eth_strip_vlan(const struct iovec *iov, int iovcnt, size_t iovoff, in eth_strip_vlan() argument 229 size_t copied = iov_to_buf(iov, iovcnt, iovoff, in eth_strip_vlan() 239 copied = iov_to_buf(iov, iovcnt, iovoff + sizeof(*new_ehdr), in eth_strip_vlan() 253 copied = iov_to_buf(iov, iovcnt, *payload_offset, in eth_strip_vlan() [all …]
|
H A D | netmap.c | 50 struct iovec iov[IOV_MAX]; member 158 const struct iovec *iov, int iovcnt) in netmap_receive_iov() argument 183 int iov_frag_size = iov[j].iov_len; in netmap_receive_iov() 207 pkt_copy(iov[j].iov_base + offset, dst, nm_frag_size); in netmap_receive_iov() 231 struct iovec iov; in netmap_receive() local 233 iov.iov_base = (void *)buf; in netmap_receive() 234 iov.iov_len = size; in netmap_receive() 236 return netmap_receive_iov(nc, &iov, 1); in netmap_receive() 267 s->iov[iovcnt].iov_base = (void *)NETMAP_BUF(ring, idx); in netmap_send() 268 s->iov[iovcnt].iov_len = ring->slot[i].len; in netmap_send() [all …]
|
/qemu/migration/ |
H A D | qemu-file.c | 50 struct iovec iov[MAX_IOV_SIZE]; member 229 struct iovec iov; in qemu_iovec_release_ram() local 237 iov = f->iov[idx]; in qemu_iovec_release_ram() 245 if (iov.iov_base + iov.iov_len == f->iov[idx].iov_base) { in qemu_iovec_release_ram() 246 iov.iov_len += f->iov[idx].iov_len; in qemu_iovec_release_ram() 249 if (qemu_madvise(iov.iov_base, iov.iov_len, QEMU_MADV_DONTNEED) < 0) { in qemu_iovec_release_ram() 251 iov.iov_base, iov.iov_len, strerror(errno)); in qemu_iovec_release_ram() 253 iov = f->iov[idx]; in qemu_iovec_release_ram() 255 if (qemu_madvise(iov.iov_base, iov.iov_len, QEMU_MADV_DONTNEED) < 0) { in qemu_iovec_release_ram() 257 iov.iov_base, iov.iov_len, strerror(errno)); in qemu_iovec_release_ram() [all …]
|
/qemu/hw/nvme/ |
H A D | dif.c | 412 qemu_iovec_destroy(&ctx->data.iov); in nvme_dif_rw_cb() 415 qemu_iovec_destroy(&ctx->mdata.iov); in nvme_dif_rw_cb() 503 qemu_iovec_reset(&ctx->mdata.iov); in nvme_dif_rw_mdata_in_cb() 504 qemu_iovec_add(&ctx->mdata.iov, ctx->mdata.bounce, mlen); in nvme_dif_rw_mdata_in_cb() 587 qemu_iovec_init(&ctx->mdata.iov, 1); in nvme_dif_rw() 648 qemu_iovec_init(&ctx->data.iov, 1); in nvme_dif_rw() 649 qemu_iovec_add(&ctx->data.iov, ctx->data.bounce, len); in nvme_dif_rw() 668 qemu_iovec_init(&ctx->mdata.iov, 1); in nvme_dif_rw() 669 qemu_iovec_add(&ctx->mdata.iov, ctx->mdata.bounce, mlen); in nvme_dif_rw() 707 qemu_iovec_destroy(&ctx->data.iov); in nvme_dif_rw() [all …]
|
/qemu/replay/ |
H A D | replay-net.c | 54 const struct iovec *iov, int iovcnt) in replay_net_packet_event() argument 58 event->data = g_malloc(iov_size(iov, iovcnt)); in replay_net_packet_event() 59 event->size = iov_size(iov, iovcnt); in replay_net_packet_event() 61 iov_to_buf(iov, iovcnt, 0, event->data, event->size); in replay_net_packet_event() 69 struct iovec iov = { in replay_event_net_run() local 77 event->flags, &iov, 1, network_filters[event->id]); in replay_event_net_run()
|
/qemu/hw/net/ |
H A D | net_rx_pkt.h | 64 const struct iovec *iov, size_t iovcnt, 219 const struct iovec *iov, 236 const struct iovec *iov, int iovcnt, 253 const struct iovec iov = { in net_rx_pkt_attach_data() local 258 net_rx_pkt_attach_iovec(pkt, &iov, 1, 0, strip_vlan); in net_rx_pkt_attach_data() 306 const struct iovec *iov, int iovcnt);
|
/qemu/contrib/vhost-user-blk/ |
H A D | vhost-user-blk.c | 56 static size_t vub_iov_size(const struct iovec *iov, in vub_iov_size() argument 64 len += iov[i].iov_len; in vub_iov_size() 69 static size_t vub_iov_to_buf(const struct iovec *iov, in vub_iov_to_buf() argument 77 memcpy(buf + len, iov[i].iov_base, iov[i].iov_len); in vub_iov_to_buf() 78 len += iov[i].iov_len; in vub_iov_to_buf() 133 vub_readv(VubReq *req, struct iovec *iov, uint32_t iovcnt) in vub_readv() argument 143 req->size = vub_iov_size(iov, iovcnt); in vub_readv() 156 vub_writev(VubReq *req, struct iovec *iov, uint32_t iovcnt) in vub_writev() argument 166 req->size = vub_iov_size(iov, iovcnt); in vub_writev() 186 size = vub_iov_size(iov, iovcnt); in vub_discard_write_zeroes() [all …]
|