/openbmc/linux/tools/testing/selftests/kvm/x86_64/ |
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() 530 struct hcall_data *hcall; in guest_test_hcalls_access() local 560 hcall->control = 0xbeef; in guest_test_hcalls_access() 619 hcall->control = HVCALL_SEND_IPI; in guest_test_hcalls_access() 624 hcall->control = HVCALL_SEND_IPI; in guest_test_hcalls_access() 645 hcall->ud_expected = true; in guest_test_hcalls_access() [all …]
|
H A D | xen_vmcall_test.c | 112 TEST_ASSERT_EQ(run->xen.u.hcall.cpl, 0); in main() 113 TEST_ASSERT_EQ(run->xen.u.hcall.longmode, 1); in main() 114 TEST_ASSERT_EQ(run->xen.u.hcall.input, INPUTVALUE); in main() 115 TEST_ASSERT_EQ(run->xen.u.hcall.params[0], ARGVALUE(1)); in main() 116 TEST_ASSERT_EQ(run->xen.u.hcall.params[1], ARGVALUE(2)); in main() 117 TEST_ASSERT_EQ(run->xen.u.hcall.params[2], ARGVALUE(3)); in main() 118 TEST_ASSERT_EQ(run->xen.u.hcall.params[3], ARGVALUE(4)); in main() 119 TEST_ASSERT_EQ(run->xen.u.hcall.params[4], ARGVALUE(5)); in main() 120 TEST_ASSERT_EQ(run->xen.u.hcall.params[5], ARGVALUE(6)); in main() 121 run->xen.u.hcall.result = RETVALUE; in main()
|
H A D | hyperv_extended_hypercalls.c | 74 outval = addr_gpa2hva(vm, run->hyperv.u.hcall.params[1]); in main() 76 run->hyperv.u.hcall.result = HV_STATUS_SUCCESS; in main()
|
/openbmc/qemu/target/i386/kvm/ |
H A D | hyperv.c | 86 uint16_t code = exit->u.hcall.input & 0xffff; in kvm_hv_handle_exit() 87 bool fast = exit->u.hcall.input & HV_HYPERCALL_FAST; in kvm_hv_handle_exit() 88 uint64_t in_param = exit->u.hcall.params[0]; in kvm_hv_handle_exit() 89 uint64_t out_param = exit->u.hcall.params[1]; in kvm_hv_handle_exit() 93 exit->u.hcall.result = hyperv_hcall_post_message(in_param, fast); in kvm_hv_handle_exit() 96 exit->u.hcall.result = hyperv_hcall_signal_event(in_param, fast); in kvm_hv_handle_exit() 99 exit->u.hcall.result = in kvm_hv_handle_exit() 103 exit->u.hcall.result = in kvm_hv_handle_exit() 107 exit->u.hcall.result = in kvm_hv_handle_exit() 111 exit->u.hcall.result = HV_STATUS_INVALID_HYPERCALL_CODE; in kvm_hv_handle_exit()
|
H A D | xen-emu.c | 280 exit->u.hcall.result = err; in kvm_xen_hcall_xen_version() 745 exit->u.hcall.result = err; in kvm_xen_hcall_memory_op() 781 exit->u.hcall.result = err; in handle_set_param() 832 exit->u.hcall.result = err; in handle_get_param() 886 exit->u.hcall.result = ret; in kvm_xen_hcall_hvm_op() 1170 exit->u.hcall.result = err; in kvm_xen_hcall_set_timer_op() 1224 exit->u.hcall.result = err; in kvm_xen_hcall_vcpu_op() 1397 exit->u.hcall.result = err; in kvm_xen_hcall_evtchn_op() 1520 exit->u.hcall.result = err; in kvm_xen_hcall_sched_op() 1791 exit->u.hcall.input, exit->u.hcall.params[0], in kvm_xen_handle_exit() [all …]
|
H A D | hyperv-stub.c | 29 exit->u.hcall.result = HV_STATUS_INVALID_HYPERCALL_CODE; in kvm_hv_handle_exit()
|
/openbmc/linux/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
|
/openbmc/linux/Documentation/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 …]
|
/openbmc/qemu/docs/devel/ |
H A D | nested-papr.txt | 44 KVM: PPC: Book3S HV: Framework and hcall stubs for nested virtualization 53 This API works primarily using a signal hcall h_enter_nested(). This 63 it's partition table using the h_set_partition_table() hcall. All 84 hcall. 96 - L1 and L0 communicate the vCPU state using the H_GUEST_{G,S}ET() hcall 98 - L1 requests the L0 to run the vCPU using H_GUEST_RUN_VCPU() hcall
|
/openbmc/linux/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 | 2132 pvinfo->hcall[0] = cpu_to_be32(inst_sc1); in kvm_vm_ioctl_get_pvinfo() 2133 pvinfo->hcall[1] = cpu_to_be32(inst_nop); in kvm_vm_ioctl_get_pvinfo() 2134 pvinfo->hcall[2] = cpu_to_be32(inst_nop); in kvm_vm_ioctl_get_pvinfo() 2135 pvinfo->hcall[3] = cpu_to_be32(inst_nop); in kvm_vm_ioctl_get_pvinfo() 2153 pvinfo->hcall[2] = cpu_to_be32(inst_sc); in kvm_vm_ioctl_get_pvinfo() 2154 pvinfo->hcall[3] = cpu_to_be32(inst_nop); in kvm_vm_ioctl_get_pvinfo() 2201 unsigned long hcall = cap->args[0]; in kvm_vm_ioctl_enable_cap() local 2204 if (hcall > MAX_HCALL_OPCODE || (hcall & 3) || in kvm_vm_ioctl_enable_cap() 2207 if (!kvmppc_book3s_hcall_implemented(kvm, hcall)) in kvm_vm_ioctl_enable_cap() 2210 set_bit(hcall / 4, kvm->arch.enabled_hcalls); in kvm_vm_ioctl_enable_cap() [all …]
|
H A D | book3s.c | 1024 int kvmppc_book3s_hcall_implemented(struct kvm *kvm, unsigned long hcall) in kvmppc_book3s_hcall_implemented() argument 1026 return kvm->arch.kvm_ops->hcall_implemented(hcall); in kvmppc_book3s_hcall_implemented()
|
/openbmc/linux/arch/x86/kvm/ |
H A D | xen.c | 1156 return kvm_xen_hypercall_set_result(vcpu, run->xen.u.hcall.result); in kvm_xen_hypercall_complete_userspace() 1515 vcpu->run->xen.u.hcall.longmode = longmode; in kvm_xen_hypercall() 1516 vcpu->run->xen.u.hcall.cpl = cpl; in kvm_xen_hypercall() 1517 vcpu->run->xen.u.hcall.input = input; in kvm_xen_hypercall() 1518 vcpu->run->xen.u.hcall.params[0] = params[0]; in kvm_xen_hypercall() 1519 vcpu->run->xen.u.hcall.params[1] = params[1]; in kvm_xen_hypercall() 1520 vcpu->run->xen.u.hcall.params[2] = params[2]; in kvm_xen_hypercall() 1521 vcpu->run->xen.u.hcall.params[3] = params[3]; in kvm_xen_hypercall() 1522 vcpu->run->xen.u.hcall.params[4] = params[4]; in kvm_xen_hypercall() 1523 vcpu->run->xen.u.hcall.params[5] = params[5]; in kvm_xen_hypercall()
|
/openbmc/linux/arch/powerpc/platforms/pseries/ |
H A D | vas.c | 148 int h_query_vas_capabilities(const u64 hcall, u8 query_type, u64 result) in h_query_vas_capabilities() argument 152 rc = plpar_hcall_norets(hcall, query_type, result); in h_query_vas_capabilities() 160 (hcall == H_QUERY_VAS_CAPABILITIES) ? in h_query_vas_capabilities()
|
H A D | Kconfig | 137 this enables code that uses the hcall GetPerfCounterInfo and 24x7
|
/openbmc/linux/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 | 302 int (*hcall_implemented)(unsigned long hcall); 637 extern int kvmppc_xics_rm_complete(struct kvm_vcpu *vcpu, u32 hcall); 666 static inline int kvmppc_xics_rm_complete(struct kvm_vcpu *vcpu, u32 hcall) in kvmppc_xics_rm_complete() argument
|
/openbmc/qemu/hw/s390x/ |
H A D | meson.build | 15 's390-virtio-hcall.c',
|
/openbmc/qemu/target/ppc/ |
H A D | trace-events | 26 kvm_handle_papr_hcall(uint64_t hcall) "0x%" PRIx64
|
/openbmc/qemu/docs/specs/ |
H A D | ppc-spapr-hcalls.rst | 17 All those hypercalls start at hcall number 0xf000 which correspond
|
H A D | ppc-spapr-uv-hcalls.rst | 34 key stored in the system's TPM. An Ultravisor will use this hcall to
|
/openbmc/linux/include/uapi/linux/ |
H A D | kvm.h | 199 } hcall; member 222 } hcall; member 860 __u32 hcall[4]; member
|
/openbmc/linux/tools/include/uapi/linux/ |
H A D | kvm.h | 199 } hcall; member 222 } hcall; member 860 __u32 hcall[4]; member
|
/openbmc/qemu/linux-headers/linux/ |
H A D | kvm.h | 111 } hcall; member 134 } hcall; member
|