/linux/arch/arm64/kvm/ |
H A D | reset.c | 93 * vcpu->arch.sve_state as necessary. 124 vcpu->arch.sve_state = buf; in kvm_vcpu_finalize_sve() 155 void *sve_state = vcpu->arch.sve_state; in kvm_arm_vcpu_destroy() local 158 if (sve_state) in kvm_arm_vcpu_destroy() 159 kvm_unshare_hyp(sve_state, sve_state + vcpu_sve_state_size(vcpu)); in kvm_arm_vcpu_destroy() 160 kfree(sve_state); in kvm_arm_vcpu_destroy() 169 memset(vcpu->arch.sve_state, 0, vcpu_sve_state_size(vcpu)); in kvm_vcpu_reset_sve()
|
H A D | fpsimd.c | 77 fp_state.sve_state = vcpu->arch.sve_state; in kvm_arch_vcpu_ctxsync_fp()
|
H A D | arm.c | 2365 struct cpu_sve_state *sve_state; in teardown_hyp_mode() local 2367 sve_state = per_cpu_ptr_nvhe_sym(kvm_host_data, cpu)->sve_state; in teardown_hyp_mode() 2368 free_pages((unsigned long) sve_state, pkvm_host_sve_state_order()); in teardown_hyp_mode() 2489 per_cpu_ptr_nvhe_sym(kvm_host_data, cpu)->sve_state = page_address(page); in init_pkvm_host_sve_state() 2510 struct cpu_sve_state *sve_state; in finalize_init_hyp_mode() local 2512 sve_state = per_cpu_ptr_nvhe_sym(kvm_host_data, cpu)->sve_state; in finalize_init_hyp_mode() 2513 per_cpu_ptr_nvhe_sym(kvm_host_data, cpu)->sve_state = in finalize_init_hyp_mode() 2514 kern_hyp_va(sve_state); in finalize_init_hyp_mode() [all...] |
H A D | guest.c | 348 if (WARN_ON(vcpu->arch.sve_state)) in set_sve_vls() 377 /* vcpu->arch.sve_state will be alloc'd by kvm_vcpu_finalize_sve() */ in set_sve_vls() 407 /* Bounds of a single SVE register slice within vcpu->arch.sve_state */ 409 unsigned int koffset; /* offset into sve_state in kernel memory */ 503 if (copy_to_user(uptr, vcpu->arch.sve_state + region.koffset, in get_sve_reg() 529 if (copy_from_user(vcpu->arch.sve_state + region.koffset, uptr, in set_sve_reg()
|
/linux/arch/arm64/kernel/ |
H A D | fpsimd.c | 275 * allocated in sve_state and sme_state to store the contents of both ZA 322 * task->thread.sve_state does not need to be non-NULL, valid or any 331 * task->thread.sve_state, formatted appropriately for vector 336 * task->thread.sve_state must point to a valid buffer at least 498 sve_save_state((char *)last->sve_state + in fpsimd_save_user_state() 611 #define ZREG(sve_state, vq, n) ((char *)(sve_state) + \ argument 645 * task->thread.sve_state. 650 * task->thread.sve_state must point to at least sve_state_size(task) 658 void *sst = task->thread.sve_state; in fpsimd_to_sve() 799 void *sve_state = NULL, *sme_state = NULL; change_live_vector_length() local 1603 void *sve_state = NULL; fpsimd_flush_thread() local [all...] |
H A D | process.c | 359 * Drop stale reference to src's sve_state and convert dst to in arch_dup_task_struct() 363 dst->thread.sve_state = NULL; in arch_dup_task_struct() 388 dst->thread.sve_state = kzalloc(sve_state_size(src), in copy_thread_za() 390 if (!dst->thread.sve_state) in copy_thread_za() 397 kfree(dst->thread.sve_state); in copy_thread_za() 398 dst->thread.sve_state = NULL; in copy_thread_za()
|
/linux/arch/arm64/kvm/hyp/nvhe/ |
H A D | pkvm.c | 377 void *sve_state; in unpin_host_sve_state() local 382 sve_state = kern_hyp_va(hyp_vcpu->vcpu.arch.sve_state); in unpin_host_sve_state() 383 hyp_unpin_shared_mem(sve_state, in unpin_host_sve_state() 384 sve_state + vcpu_sve_state_size(&hyp_vcpu->vcpu)); in unpin_host_sve_state() 419 void *sve_state; in pkvm_vcpu_init_sve() local 430 sve_state = kern_hyp_va(READ_ONCE(host_vcpu->arch.sve_state)); in pkvm_vcpu_init_sve() 432 if (!sve_state || !sve_state_size) { in pkvm_vcpu_init_sve() 437 ret = hyp_pin_shared_mem(sve_state, sve_stat in pkvm_vcpu_init_sve() [all...] |
H A D | setup.c | 85 struct cpu_sve_state *sve_state = host_data->sve_state; in pkvm_create_host_sve_mappings() local 87 start = kern_hyp_va(sve_state); in pkvm_create_host_sve_mappings()
|
H A D | hyp-main.c | 42 struct cpu_sve_state *sve_state = *host_data_ptr(sve_state); in __hyp_sve_restore_host() local 54 __sve_restore_state(sve_state->sve_regs + sve_ffr_offset(kvm_host_sve_max_vl), in __hyp_sve_restore_host() 55 &sve_state->fpsr, in __hyp_sve_restore_host() 57 write_sysreg_el1(sve_state->zcr_el1, SYS_ZCR); in __hyp_sve_restore_host()
|
/linux/arch/arm64/kvm/hyp/include/hyp/ |
H A D | switch.h | 577 struct cpu_sve_state *sve_state = *host_data_ptr(sve_state); in __hyp_sve_save_host() local 579 sve_state->zcr_el1 = read_sysreg_el1(SYS_ZCR); in __hyp_sve_save_host() 581 __sve_save_state(sve_state->sve_regs + sve_ffr_offset(kvm_host_sve_max_vl), in __hyp_sve_save_host() 582 &sve_state->fpsr, in __hyp_sve_save_host()
|
/linux/arch/arm64/include/asm/ |
H A D | fpsimd.h | 86 void *sve_state; member 134 return (char *)thread->sve_state + sve_ffr_offset(vl); in sve_pffr()
|
H A D | processor.h | 167 void *sve_state; /* SVE registers, if any */ member
|