MCPcopy Create free account
hub / github.com/F-Stack/f-stack / copy_data_from_desc

Function copy_data_from_desc

dpdk/lib/vhost/vhost_crypto.c:555–582  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

553}
554
555static __rte_always_inline uint32_t
556copy_data_from_desc(void *dst, struct vhost_crypto_data_req *vc_req,
557 struct vhost_crypto_desc *desc, uint32_t size)
558 __rte_shared_locks_required(&vc_req->vq->iotlb_lock)
559{
560 uint64_t remain;
561 uint64_t addr;
562
563 remain = RTE_MIN(desc->len, size);
564 addr = desc->addr;
565 do {
566 uint64_t len;
567 void *src;
568
569 len = remain;
570 src = IOVA_TO_VVA(void *, vc_req, addr, &len, VHOST_ACCESS_RO);
571 if (unlikely(src == NULL || len == 0))
572 return 0;
573
574 rte_memcpy(dst, src, len);
575 remain -= len;
576 /* cast is needed for 32-bit architecture */
577 dst = RTE_PTR_ADD(dst, (size_t)len);
578 addr += len;
579 } while (unlikely(remain != 0));
580
581 return RTE_MIN(desc->len, size);
582}
583
584
585static __rte_always_inline int

Callers 1

copy_dataFunction · 0.85

Calls 1

rte_memcpyFunction · 0.50

Tested by

no test coverage detected