Lines Matching defs:cntx
22 struct kvm_cpu_context *cntx = &vcpu->arch.guest_context;
24 cntx->sstatus &= ~SR_VS;
26 cntx->sstatus |= SR_VS_INITIAL;
27 WARN_ON(!cntx->vector.datap);
28 memset(cntx->vector.datap, 0, riscv_v_vsize);
30 cntx->sstatus |= SR_VS_OFF;
34 static void kvm_riscv_vcpu_vector_clean(struct kvm_cpu_context *cntx)
36 cntx->sstatus &= ~SR_VS;
37 cntx->sstatus |= SR_VS_CLEAN;
40 void kvm_riscv_vcpu_guest_vector_save(struct kvm_cpu_context *cntx,
43 if ((cntx->sstatus & SR_VS) == SR_VS_DIRTY) {
45 __kvm_riscv_vector_save(cntx);
46 kvm_riscv_vcpu_vector_clean(cntx);
50 void kvm_riscv_vcpu_guest_vector_restore(struct kvm_cpu_context *cntx,
53 if ((cntx->sstatus & SR_VS) != SR_VS_OFF) {
55 __kvm_riscv_vector_restore(cntx);
56 kvm_riscv_vcpu_vector_clean(cntx);
60 void kvm_riscv_vcpu_host_vector_save(struct kvm_cpu_context *cntx)
64 __kvm_riscv_vector_save(cntx);
67 void kvm_riscv_vcpu_host_vector_restore(struct kvm_cpu_context *cntx)
70 __kvm_riscv_vector_restore(cntx);
74 struct kvm_cpu_context *cntx)
76 cntx->vector.datap = kmalloc(riscv_v_vsize, GFP_KERNEL);
77 if (!cntx->vector.datap)
99 struct kvm_cpu_context *cntx = &vcpu->arch.guest_context;
107 *reg_addr = &cntx->vector.vstart;
110 *reg_addr = &cntx->vector.vl;
113 *reg_addr = &cntx->vector.vtype;
116 *reg_addr = &cntx->vector.vcsr;
125 *reg_addr = cntx->vector.datap +