Lines Matching defs:vcpu
19 static void kvm_ptp_get_time(struct kvm_vcpu *vcpu, u64 *val)
44 feature = smccc_get_arg1(vcpu);
47 cycles = systime_snapshot.cycles - vcpu->kvm->arch.timer_data.voffset;
50 cycles = systime_snapshot.cycles - vcpu->kvm->arch.timer_data.poffset;
96 static bool kvm_smccc_test_fw_bmap(struct kvm_vcpu *vcpu, u32 func_id)
98 struct kvm_smccc_features *smccc_feat = &vcpu->kvm->arch.smccc_feat;
217 static u8 kvm_smccc_get_action(struct kvm_vcpu *vcpu, u32 func_id)
223 u8 action = kvm_smccc_filter_get_action(vcpu->kvm, func_id);
227 if (kvm_smccc_test_fw_bmap(vcpu, func_id) ||
234 static void kvm_prepare_hypercall_exit(struct kvm_vcpu *vcpu, u32 func_id)
236 u8 ec = ESR_ELx_EC(kvm_vcpu_get_esr(vcpu));
237 struct kvm_run *run = vcpu->run;
243 if (!kvm_vcpu_trap_il_is32bit(vcpu))
253 int kvm_smccc_call_handler(struct kvm_vcpu *vcpu)
255 struct kvm_smccc_features *smccc_feat = &vcpu->kvm->arch.smccc_feat;
256 u32 func_id = smccc_get_function(vcpu);
262 action = kvm_smccc_get_action(vcpu, func_id);
269 kvm_prepare_hypercall_exit(vcpu, func_id);
281 feature = smccc_get_arg1(vcpu);
338 val[0] = kvm_hypercall_pv_features(vcpu);
341 gpa = kvm_init_stolen_time(vcpu);
355 kvm_ptp_get_time(vcpu, val);
362 return kvm_trng_call(vcpu);
364 return kvm_psci_call(vcpu);
368 smccc_set_retval(vcpu, val[0], val[1], val[2], val[3]);
398 int kvm_arm_get_fw_num_regs(struct kvm_vcpu *vcpu)
403 int kvm_arm_copy_fw_reg_indices(struct kvm_vcpu *vcpu, u64 __user *uindices)
466 int kvm_arm_get_fw_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg)
468 struct kvm_smccc_features *smccc_feat = &vcpu->kvm->arch.smccc_feat;
474 val = kvm_psci_version(vcpu);
500 static int kvm_arm_set_fw_reg_bmap(struct kvm_vcpu *vcpu, u64 reg_id, u64 val)
503 struct kvm *kvm = vcpu->kvm;
541 int kvm_arm_set_fw_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg)
557 wants_02 = test_bit(KVM_ARM_VCPU_PSCI_0_2, vcpu->arch.features);
563 vcpu->kvm->arch.psci_version = val;
570 vcpu->kvm->arch.psci_version = val;
624 return kvm_arm_set_fw_reg_bmap(vcpu, reg->id, val);