Lines Matching refs:sve
195 static void target_setup_sve_record(struct target_sve_context *sve, in target_setup_sve_record() argument
200 memset(sve, 0, sizeof(*sve)); in target_setup_sve_record()
201 __put_user(TARGET_SVE_MAGIC, &sve->head.magic); in target_setup_sve_record()
202 __put_user(size, &sve->head.size); in target_setup_sve_record()
203 __put_user(vq * TARGET_SVE_VQ_BYTES, &sve->vl); in target_setup_sve_record()
205 __put_user(TARGET_SVE_SIG_FLAG_SM, &sve->flags); in target_setup_sve_record()
213 uint64_t *z = (void *)sve + TARGET_SVE_SIG_ZREG_OFFSET(vq, i); in target_setup_sve_record()
219 uint16_t *p = (void *)sve + TARGET_SVE_SIG_PREG_OFFSET(vq, i); in target_setup_sve_record()
300 struct target_sve_context *sve, in target_restore_sve_record() argument
306 __get_user(vl, &sve->vl); in target_restore_sve_record()
307 __get_user(flags, &sve->flags); in target_restore_sve_record()
330 if (size <= sizeof(*sve)) { in target_restore_sve_record()
347 uint64_t *z = (void *)sve + TARGET_SVE_SIG_ZREG_OFFSET(vq, i); in target_restore_sve_record()
353 uint16_t *p = (void *)sve + TARGET_SVE_SIG_PREG_OFFSET(vq, i); in target_restore_sve_record()
411 struct target_sve_context *sve = NULL; in target_restore_sigframe() local
448 if (sve || size < sizeof(struct target_sve_context)) { in target_restore_sigframe()
451 sve = (struct target_sve_context *)ctx; in target_restore_sigframe()
494 if (sve && !target_restore_sve_record(env, sve, sve_size, &svcr)) { in target_restore_sigframe()