Lines Matching refs:head

9 struct _aarch64_ctx *get_header(struct _aarch64_ctx *head, uint32_t magic,
15 if (!head || resv_sz < HDR_SZ)
19 head->magic != magic && head->magic) {
20 offs += head->size;
21 head = GET_RESV_NEXT_HEAD(head);
23 if (head->magic == magic) {
24 found = head;
41 term = GET_RESV_NEXT_HEAD(&extra->head);
71 if ((sve->head.size != sizeof(struct sve_context)) &&
72 (sve->head.size != regs_size)) {
96 if ((za->head.size != sizeof(struct za_context)) &&
97 (za->head.size != regs_size)) {
123 if (zt->head.size != ZT_SIG_CONTEXT_SIZE(zt->nregs)) {
141 struct _aarch64_ctx *head =
150 while (head && !terminated && offs < resv_sz) {
151 if ((uint64_t)head & 0x0fUL) {
158 switch (head->magic) {
160 if (head->size) {
164 head = extra_data;
178 else if (head->size !=
184 if (head->size != sizeof(struct esr_context))
188 if (head->size != sizeof(struct tpidr2_context))
195 sve = (struct sve_context *)head;
202 za = (struct za_context *)head;
209 zt = (struct zt_context *)head;
215 else if (head->size !=
223 else if (head->size !=
227 extra = (struct extra_context *)head;
246 memcpy(magic, &head->magic, sizeof(magic));
253 head->magic,
261 offs += head->size;
262 if (resv_sz < offs + sizeof(*head)) {
283 head = GET_RESV_NEXT_HEAD(head);
312 * head pointer from @shead
314 * @return: pointer to a new head where to start storing need_sz bytes, or
322 struct _aarch64_ctx *head;
324 head = get_terminator(shead, resv_sz, &offs);
326 if (!head)
327 return head;
331 head = get_header(shead, EXTRA_MAGIC, resv_sz, &offs);
332 if (!head || resv_sz - offs < need_sz) {
342 return head;