Lines Matching refs:iov
107 static bool has_padding(AspeedHACEState *s, struct iovec *iov, in has_padding() argument
111 *total_msg_len = (uint32_t)(ldq_be_p(iov->iov_base + req_len - 8) / 8); in has_padding()
126 uint8_t *padding = iov->iov_base; in has_padding()
141 static int reconstruct_iov(AspeedHACEState *s, struct iovec *iov, int id, in reconstruct_iov() argument
146 s->iov_cache[s->iov_count].iov_base = iov[id].iov_base; in reconstruct_iov()
151 iov[i].iov_base = s->iov_cache[i].iov_base; in reconstruct_iov()
152 iov[i].iov_len = s->iov_cache[i].iov_len; in reconstruct_iov()
163 struct iovec iov[ASPEED_HACE_MAX_SG]; in do_hash_operation() local
212 iov[i].iov_base = haddr; in do_hash_operation()
216 if (has_padding(s, &iov[i], plen, &total_msg_len, in do_hash_operation()
220 iov[i].iov_len = pad_offset; in do_hash_operation()
222 iov[i].iov_len = plen; in do_hash_operation()
225 iov[i].iov_len = plen; in do_hash_operation()
237 iov[0].iov_base = haddr; in do_hash_operation()
238 iov[0].iov_len = len; in do_hash_operation()
249 if (has_padding(s, iov, len, &total_msg_len, &pad_offset)) { in do_hash_operation()
250 i = reconstruct_iov(s, iov, 0, &pad_offset); in do_hash_operation()
256 if (qcrypto_hash_updatev(s->hash_ctx, iov, i, &local_err) < 0) { in do_hash_operation()
279 } else if (qcrypto_hash_bytesv(algo, iov, i, &digest_buf, in do_hash_operation()
295 address_space_unmap(&s->dram_as, iov[i - 1].iov_base, in do_hash_operation()
296 iov[i - 1].iov_len, false, in do_hash_operation()
297 iov[i - 1].iov_len); in do_hash_operation()