| /linux-6.15/tools/testing/selftests/kvm/x86/ |
| H A D | hyperv_features.c | 90 GUEST_ASSERT_NE(hcall->control, 0); in guest_hcall() 103 if (hcall->ud_expected) { in guest_hcall() 106 hcall->control, vector); in guest_hcall() 110 hcall->control, 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 554 hcall->control = 0xbeef; in guest_test_hcalls_access() 613 hcall->control = HVCALL_SEND_IPI; in guest_test_hcalls_access() 618 hcall->control = HVCALL_SEND_IPI; in guest_test_hcalls_access() 639 hcall->ud_expected = true; in guest_test_hcalls_access() [all …]
|
| H A D | xen_vmcall_test.c | 113 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 D | hyperv_extended_hypercalls.c | 76 outval = addr_gpa2hva(vm, run->hyperv.u.hcall.params[1]); in main() 78 run->hyperv.u.hcall.result = HV_STATUS_SUCCESS; in main()
|
| /linux-6.15/Documentation/ABI/testing/ |
| H A D | debugfs-pfo-nx-crypto | 15 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 D | sysfs-bus-papr-pmem | 9 response to H_SCM_HEALTH hcall. The details of the bit 10 flags returned in response to this hcall is available
|
| /linux-6.15/Documentation/arch/powerpc/ |
| H A D | papr_hcalls.rst | 28 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 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 69 | r3 | Y | hcall opcode/return value | 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 131 servicing the hcall yet. 135 for each subsequent hcall until hypervisor returns a non *H_CONTINUE* 286 The hcall returns H_BUSY when the flush takes longer time and the hcall needs [all …]
|
| H A D | kvm-nested.rst | 29 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. 83 - L1 requests the L0 runs the vCPU running H_GUEST_VCPU_RUN() hcall 286 hcall. 288 This hcall also has associated input and output GSBs. Unlike 290 parameters to the hcall (This was done in the interest of 299 On exit from the hcall, the output buffer is filled with elements 304 state likely needed to service the hcall. If additional state is [all …]
|
| /linux-6.15/arch/powerpc/kvm/ |
| H A D | book3s_pr_papr.c | 489 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 D | powerpc.c | 2110 pvinfo->hcall[0] = cpu_to_be32(inst_sc1); in kvm_vm_ioctl_get_pvinfo() 2111 pvinfo->hcall[1] = cpu_to_be32(inst_nop); in kvm_vm_ioctl_get_pvinfo() 2112 pvinfo->hcall[2] = cpu_to_be32(inst_nop); in kvm_vm_ioctl_get_pvinfo() 2113 pvinfo->hcall[3] = cpu_to_be32(inst_nop); in kvm_vm_ioctl_get_pvinfo() 2131 pvinfo->hcall[2] = cpu_to_be32(inst_sc); in kvm_vm_ioctl_get_pvinfo() 2132 pvinfo->hcall[3] = cpu_to_be32(inst_nop); in kvm_vm_ioctl_get_pvinfo() 2179 unsigned long hcall = cap->args[0]; in kvm_vm_ioctl_enable_cap() local 2182 if (hcall > MAX_HCALL_OPCODE || (hcall & 3) || in kvm_vm_ioctl_enable_cap() 2185 if (!kvmppc_book3s_hcall_implemented(kvm, hcall)) in kvm_vm_ioctl_enable_cap() 2188 set_bit(hcall / 4, kvm->arch.enabled_hcalls); in kvm_vm_ioctl_enable_cap() [all …]
|
| H A D | book3s.c | 1016 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 D | book3s_xics.c | 848 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 D | book3s_hv.c | 2821 {"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-6.15/arch/x86/kvm/ |
| H A D | xen.c | 1422 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 D | hyperv.c | 2404 return kvm_hv_hypercall_complete(vcpu, vcpu->run->hyperv.u.hcall.result); in kvm_hv_hypercall_complete_userspace() 2685 vcpu->run->hyperv.u.hcall.input = hc.param; in kvm_hv_hypercall() 2686 vcpu->run->hyperv.u.hcall.params[0] = hc.ingpa; in kvm_hv_hypercall() 2687 vcpu->run->hyperv.u.hcall.params[1] = hc.outgpa; in kvm_hv_hypercall()
|
| /linux-6.15/arch/powerpc/platforms/pseries/ |
| H A D | vas.c | 168 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 D | Kconfig | 147 this enables code that uses the hcall GetPerfCounterInfo and 24x7
|
| /linux-6.15/arch/powerpc/include/asm/ |
| H A D | vas.h | 271 int h_query_vas_capabilities(const u64 hcall, u8 query_type, u64 result);
|
| H A D | kvm_ppc.h | 301 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 D | kvm_host.h | 862 struct kvmhv_tb_accumulator hcall; member
|
| /linux-6.15/tools/include/uapi/linux/ |
| H A D | kvm.h | 111 } hcall; member 134 } hcall; member
|
| /linux-6.15/include/uapi/linux/ |
| H A D | kvm.h | 111 } hcall; member 134 } hcall; member
|
| /linux-6.15/tools/arch/powerpc/include/uapi/asm/ |
| H A D | kvm.h | 745 __u32 hcall[4]; member
|
| /linux-6.15/arch/powerpc/include/uapi/asm/ |
| H A D | kvm.h | 745 __u32 hcall[4]; member
|
| /linux-6.15/Documentation/virt/kvm/ |
| H A D | ppc-pv.rst | 207 generic hypercalls are implemented here, like the ePAPR idle hcall. These are
|
| H A D | api.rst | 1858 __u32 hcall[4]; 1865 The hcall array defines 4 instructions that make up a hypercall. 1872 /* the host supports the ePAPR idle hcall 2186 When the guest issues an H_PUT_TCE hcall on a liobn for which a TCE 6947 } hcall; 7075 } hcall; 7547 :Parameters: args[0] is the sPAPR hcall number; 7552 handling of an hcall is effective across the VM. On creation, an 7561 If the hcall number specified is not one that has an in-kernel 8890 IBM pSeries (sPAPR) guest starts using them if "hcall-multi-tce" is [all …]
|