Home
last modified time | relevance | path

Searched refs:hcall (Results 1 – 25 of 27) sorted by relevance

12

/linux/tools/testing/selftests/kvm/x86/
H A Dhyperv_features.c85 static void guest_hcall(vm_vaddr_t pgs_gpa, struct hcall_data *hcall) in guest_hcall() argument
90 GUEST_ASSERT_NE(hcall->control, 0); in guest_hcall()
95 if (!(hcall->control & HV_HYPERCALL_FAST_BIT)) { in guest_hcall()
102 vector = __hyperv_hypercall(hcall->control, input, output, &res); in guest_hcall()
103 if (hcall->ud_expected) { in guest_hcall()
106 hcall->control, ex_str(vector)); in guest_hcall()
110 hcall->control, ex_str(vector)); in guest_hcall()
111 GUEST_ASSERT_EQ(res, hcall->expect); in guest_hcall()
527 struct hcall_data *hcall; in guest_test_hcalls_access() local
538 hcall = addr_gva2hva(vm, hcall_params); in guest_test_hcalls_access()
[all …]
H A Dxen_vmcall_test.c113 TEST_ASSERT_EQ(run->xen.u.hcall.cpl, 0); in main()
114 TEST_ASSERT_EQ(run->xen.u.hcall.longmode, 1); in main()
115 TEST_ASSERT_EQ(run->xen.u.hcall.input, INPUTVALUE); in main()
116 TEST_ASSERT_EQ(run->xen.u.hcall.params[0], ARGVALUE(1)); in main()
117 TEST_ASSERT_EQ(run->xen.u.hcall.params[1], ARGVALUE(2)); in main()
118 TEST_ASSERT_EQ(run->xen.u.hcall.params[2], ARGVALUE(3)); in main()
119 TEST_ASSERT_EQ(run->xen.u.hcall.params[3], ARGVALUE(4)); in main()
120 TEST_ASSERT_EQ(run->xen.u.hcall.params[4], ARGVALUE(5)); in main()
121 TEST_ASSERT_EQ(run->xen.u.hcall.params[5], ARGVALUE(6)); in main()
122 run->xen.u.hcall.result = RETVALUE; in main()
H A Dhyperv_extended_hypercalls.c76 outval = addr_gpa2hva(vm, run->hyperv.u.hcall.params[1]); in main()
78 run->hyperv.u.hcall.result = HV_STATUS_SUCCESS; in main()
/linux/Documentation/ABI/testing/
H A Ddebugfs-pfo-nx-crypto15 only errors counted here are those returned from the hcall, H_COP_OP.
18 The most recent non-zero return code from the H_COP_OP hcall. -EBUSY is not
19 recorded here (the hcall will retry until -EBUSY goes away).
23 hcall.
H A Dsysfs-bus-papr-pmem9 response to H_SCM_HEALTH hcall. The details of the bit
10 flags returned in response to this hcall is available
/linux/Documentation/arch/powerpc/
H A Dpapr_hcalls.rst28 Hence a Hypercall (hcall) is essentially a request by the pseries guest
36 The ABI specification for a hcall between a pseries guest and PAPR hypervisor
38 done via the instruction **HVCS** that expects the Opcode for hcall is set in *r3*
39 and any in-arguments for the hcall are provided in registers *r4-r12*. If values
44 'HVCS' instruction the return value of the hcall is available in *r3* and any
55 Any hcall should follow same register convention as described in section 2.2.1.1
69 | r3 | Y | hcall opcode/return value |
122 After servicing the hcall, hypervisor sets the return-value in *r3* indicating
123 success or failure of the hcall. In case of a failure an error code indicates
127 In some cases a hcall can potentially take a long time and need to be issued
[all …]
H A Dkvm-nested.rst29 KVM: PPC: Book3S HV: Framework and hcall stubs for nested virtualization
38 This API works primarily using a single hcall h_enter_nested(). This
48 it's partition table using the h_set_partition_table() hcall. All
69 hcall.
81 - L1 and L0 communicate the vCPU state using the H_GUEST_{G,S}ET() hcall
83 - L1 requests the L0 runs the vCPU running H_GUEST_VCPU_RUN() hcall
282 hcall.
284 This hcall also has associated input and output GSBs. Unlike
286 parameters to the hcall (This was done in the interest of
295 On exit from the hcall, the output buffer is filled with elements
[all …]
H A Dhtm.rst20 be controlled using the H_HTM hcall. The hcall can be invoked for any core/chip
45 * htmflags : allows to pass flags to hcall. Currently supports controlling the wrapping of HTM buff…
/linux/arch/powerpc/kvm/
H A Dbook3s_pr_papr.c489 unsigned int hcall; in kvmppc_pr_init_default_hcalls() local
492 hcall = default_hcall_list[i]; in kvmppc_pr_init_default_hcalls()
493 WARN_ON(!kvmppc_hcall_impl_pr(hcall)); in kvmppc_pr_init_default_hcalls()
494 __set_bit(hcall / 4, kvm->arch.enabled_hcalls); in kvmppc_pr_init_default_hcalls()
H A Dpowerpc.c2104 pvinfo->hcall[0] = cpu_to_be32(inst_sc1); in kvm_vm_ioctl_get_pvinfo()
2105 pvinfo->hcall[1] = cpu_to_be32(inst_nop); in kvm_vm_ioctl_get_pvinfo()
2106 pvinfo->hcall[2] = cpu_to_be32(inst_nop); in kvm_vm_ioctl_get_pvinfo()
2107 pvinfo->hcall[3] = cpu_to_be32(inst_nop); in kvm_vm_ioctl_get_pvinfo()
2123 pvinfo->hcall[0] = cpu_to_be32(inst_lis | ((KVM_SC_MAGIC_R0 >> 16) & inst_imm_mask)); in kvm_vm_ioctl_get_pvinfo()
2124 pvinfo->hcall[1] = cpu_to_be32(inst_ori | (KVM_SC_MAGIC_R0 & inst_imm_mask)); in kvm_vm_ioctl_get_pvinfo()
2125 pvinfo->hcall[2] = cpu_to_be32(inst_sc); in kvm_vm_ioctl_get_pvinfo()
2126 pvinfo->hcall[3] = cpu_to_be32(inst_nop); in kvm_vm_ioctl_get_pvinfo()
2173 unsigned long hcall = cap->args[0]; in kvm_vm_ioctl_enable_cap() local
2176 if (hcall > MAX_HCALL_OPCODE || (hcall & 3) || in kvm_vm_ioctl_enable_cap()
[all …]
H A Dbook3s.c1016 int kvmppc_book3s_hcall_implemented(struct kvm *kvm, unsigned long hcall) in kvmppc_book3s_hcall_implemented() argument
1018 return kvm->arch.kvm_ops->hcall_implemented(hcall); in kvmppc_book3s_hcall_implemented()
H A Dbook3s_xics.c848 int kvmppc_xics_rm_complete(struct kvm_vcpu *vcpu, u32 hcall) in kvmppc_xics_rm_complete() argument
854 hcall, icp->rm_action, icp->rm_dbgstate.raw, icp->rm_dbgtgt); in kvmppc_xics_rm_complete()
H A Dbook3s_hv.c2821 {"hypercall", offsetof(struct kvm_vcpu, arch.hcall)},
5168 accumulate_time(vcpu, &vcpu->arch.hcall); in kvmppc_vcpu_run_hv()
6249 unsigned int hcall; in init_default_hcalls() local
6252 hcall = default_hcall_list[i]; in init_default_hcalls()
6253 WARN_ON(!kvmppc_hcall_impl_hv(hcall)); in init_default_hcalls()
6254 __set_bit(hcall / 4, default_enabled_hcalls); in init_default_hcalls()
/linux/arch/x86/kvm/
H A Dxen.c1422 return kvm_xen_hypercall_set_result(vcpu, run->xen.u.hcall.result); in kvm_xen_hypercall_complete_userspace()
1755 vcpu->run->xen.u.hcall.longmode = longmode; in kvm_xen_hypercall()
1756 vcpu->run->xen.u.hcall.cpl = cpl; in kvm_xen_hypercall()
1757 vcpu->run->xen.u.hcall.input = input; in kvm_xen_hypercall()
1758 vcpu->run->xen.u.hcall.params[0] = params[0]; in kvm_xen_hypercall()
1759 vcpu->run->xen.u.hcall.params[1] = params[1]; in kvm_xen_hypercall()
1760 vcpu->run->xen.u.hcall.params[2] = params[2]; in kvm_xen_hypercall()
1761 vcpu->run->xen.u.hcall.params[3] = params[3]; in kvm_xen_hypercall()
1762 vcpu->run->xen.u.hcall.params[4] = params[4]; in kvm_xen_hypercall()
1763 vcpu->run->xen.u.hcall.params[5] = params[5]; in kvm_xen_hypercall()
H A Dhyperv.c2410 return kvm_hv_hypercall_complete(vcpu, vcpu->run->hyperv.u.hcall.result); in kvm_hv_hypercall_complete_userspace()
2691 vcpu->run->hyperv.u.hcall.input = hc.param; in kvm_hv_hypercall()
2692 vcpu->run->hyperv.u.hcall.params[0] = hc.ingpa; in kvm_hv_hypercall()
2693 vcpu->run->hyperv.u.hcall.params[1] = hc.outgpa; in kvm_hv_hypercall()
/linux/arch/powerpc/platforms/pseries/
H A Dvas.c168 int h_query_vas_capabilities(const u64 hcall, u8 query_type, u64 result) in h_query_vas_capabilities() argument
172 rc = plpar_hcall_norets(hcall, query_type, result); in h_query_vas_capabilities()
180 (hcall == H_QUERY_VAS_CAPABILITIES) ? in h_query_vas_capabilities()
H A DKconfig148 this enables code that uses the hcall GetPerfCounterInfo and 24x7
/linux/arch/powerpc/include/asm/
H A Dvas.h271 int h_query_vas_capabilities(const u64 hcall, u8 query_type, u64 result);
H A Dkvm_ppc.h301 int (*hcall_implemented)(unsigned long hcall);
672 extern int kvmppc_xics_rm_complete(struct kvm_vcpu *vcpu, u32 hcall);
701 static inline int kvmppc_xics_rm_complete(struct kvm_vcpu *vcpu, u32 hcall) in kvmppc_xics_rm_complete() argument
H A Dkvm_host.h862 struct kvmhv_tb_accumulator hcall; member
/linux/include/uapi/linux/
H A Dkvm.h115 } hcall; member
138 } hcall; member
/linux/tools/include/uapi/linux/
H A Dkvm.h115 } hcall; member
138 } hcall; member
/linux/arch/powerpc/include/uapi/asm/
H A Dkvm.h732 __u32 hcall[4]; member
/linux/tools/arch/powerpc/include/uapi/asm/
H A Dkvm.h732 __u32 hcall[4]; member
/linux/Documentation/virt/kvm/
H A Dppc-pv.rst207 generic hypercalls are implemented here, like the ePAPR idle hcall. These are

12