/openbmc/linux/arch/arm/xen/ |
H A D | hypercall.S | 57 #define HYPERCALL_SIMPLE(hypercall) \ argument 58 ENTRY(HYPERVISOR_##hypercall) \ 59 mov r12, #__HYPERVISOR_##hypercall; \ 62 ENDPROC(HYPERVISOR_##hypercall) 70 #define HYPERCALL5(hypercall) \ argument 71 ENTRY(HYPERVISOR_##hypercall) \ 74 mov r12, #__HYPERVISOR_##hypercall; \ 78 ENDPROC(HYPERVISOR_##hypercall)
|
H A D | Makefile | 2 obj-y := enlighten.o hypercall.o grant-table.o p2m.o mm.o
|
/openbmc/linux/Documentation/virt/kvm/x86/ |
H A D | hypercalls.rst | 13 The hypercall number should be placed in rax and the return value will be 15 by the particular hypercall. 18 R2-R7 are used for parameters 1-6. In addition, R1 is used for hypercall 21 S390 uses diagnose instruction as hypercall (0x500) along with hypercall 28 It uses R3-R10 and hypercall number in R11. R4-R11 are used as output registers. 31 KVM hypercalls uses 4 byte opcode, that are patched with 'hypercall-instructions' 36 KVM hypercalls use the HYPCALL instruction with code 0 and the hypercall 43 The template for each hypercall is: 70 :Purpose: Expose hypercall availability to the guest. On x86 platforms, cpuid 73 OR KVM specific enumeration mechanism (which is this hypercall) [all …]
|
H A D | cpuid.rst | 100 using the map gpa range hypercall
|
/openbmc/linux/arch/arm64/xen/ |
H A D | hypercall.S | 58 #define HYPERCALL_SIMPLE(hypercall) \ argument 59 SYM_FUNC_START(HYPERVISOR_##hypercall) \ 60 mov x16, #__HYPERVISOR_##hypercall; \ 63 SYM_FUNC_END(HYPERVISOR_##hypercall)
|
H A D | Makefile | 3 obj-y := xen-arm.o hypercall.o
|
/openbmc/linux/Documentation/virt/kvm/ |
H A D | ppc-pv.rst | 35 'hypercall-instructions'. This property contains at most 4 opcodes that make 36 up the hypercall. To call a hypercall, just call these instructions. 52 r11 hypercall number 8th output value 56 Hypercall definitions are shared in generic code, so the same hypercall numbers 57 apply for x86 and powerpc alike with the exception that each KVM hypercall 75 map this shared page using the KVM hypercall KVM_HC_PPC_MAP_MAGIC_PAGE. 77 With this hypercall issued the guest always gets the magic page mapped at the 88 also define a new hypercall feature to indicate that the host can give you more 97 When mapping the magic page using the KVM hypercall KVM_HC_PPC_MAP_MAGIC_PAGE, 206 These are ePAPR compliant hypercall implementation (mentioned above). Even [all …]
|
/openbmc/linux/tools/testing/selftests/kvm/aarch64/ |
H A D | smccc_filter.c | 214 TEST_ASSERT(run->hypercall.nr == func_id, in expect_call_fwd_to_user() 215 "Unexpected SMCCC function: %llu", run->hypercall.nr); in expect_call_fwd_to_user() 218 TEST_ASSERT(run->hypercall.flags & KVM_HYPERCALL_EXIT_SMC, in expect_call_fwd_to_user() 221 TEST_ASSERT(!(run->hypercall.flags & KVM_HYPERCALL_EXIT_SMC), in expect_call_fwd_to_user()
|
/openbmc/linux/Documentation/powerpc/ |
H A D | ultravisor.rst | 173 registers not needed for the hypercall then reflects the call to 174 the hypervisor for processing. The H_RANDOM hypercall is performed 323 ``H_SVM_PAGE_OUT`` hypercall to the Hypervisor. The Hypervisor will 510 processing an hypercall or interrupt that was forwarded (aka 529 When an SVM makes an hypercall or incurs some other exception, the 537 * If returning from an hypercall, register R0 contains the return 539 contain any output values of the hypercall. 548 the SVM such as processing hypercall and other exceptions. After 864 additional parameters to the hypercall, if any. On output, register 866 other output values from the hypercall. [all …]
|
/openbmc/linux/Documentation/virt/kvm/arm/ |
H A D | ptp_kvm.rst | 8 host to the guest using a KVM-specific hypercall. 12 This hypercall uses the SMC32/HVC32 calling convention:
|
H A D | hyp-abi.rst | 59 This hypercall is not expected to return to its caller. 74 The return value of a stub hypercall is held by r0/x0, and is 0 on 75 success, and HVC_STUB_ERR on error. A stub hypercall is allowed to 78 the hypercall.
|
H A D | hypercalls.rst | 7 KVM handles the hypercall services as requested by the guests. New hypercall 13 is tied to a particular version of a hypercall service, or if a migration 82 hypercall services in the form of a feature-bitmap to the userspace. This 89 hypercall services via GET_ONE_REG. The user-space can write-back the
|
H A D | pvtime.rst | 22 the PV_TIME_FEATURES hypercall should be probed using the SMCCC 1.1 54 The structure pointed to by the PV_TIME_ST hypercall is as follows:
|
/openbmc/linux/arch/x86/hyperv/ |
H A D | ivm.c | 61 } hypercall; member 91 hv_ghcb->hypercall.outputgpa = (u64)output; in hv_ghcb_hypercall() 92 hv_ghcb->hypercall.hypercallinput.asuint64 = 0; in hv_ghcb_hypercall() 93 hv_ghcb->hypercall.hypercallinput.callcode = control; in hv_ghcb_hypercall() 96 memcpy(hv_ghcb->hypercall.hypercalldata, input, input_size); in hv_ghcb_hypercall() 104 status = hv_ghcb->hypercall.hypercalloutput.callstatus; in hv_ghcb_hypercall()
|
/openbmc/qemu/hw/ppc/ |
H A D | mac_oldworld.c | 341 uint8_t *hypercall; in ppc_heathrow_init() local 343 hypercall = g_malloc(16); in ppc_heathrow_init() 344 kvmppc_get_hypercall(env, hypercall, 16); in ppc_heathrow_init() 345 fw_cfg_add_bytes(fw_cfg, FW_CFG_PPC_KVM_HC, hypercall, 16); in ppc_heathrow_init()
|
H A D | mac_newworld.c | 501 uint8_t *hypercall; in ppc_core99_init() local 503 hypercall = g_malloc(16); in ppc_core99_init() 504 kvmppc_get_hypercall(env, hypercall, 16); in ppc_core99_init() 505 fw_cfg_add_bytes(fw_cfg, FW_CFG_PPC_KVM_HC, hypercall, 16); in ppc_core99_init()
|
H A D | e500.c | 383 uint8_t hypercall[16]; in ppce500_load_device_tree() local 479 kvmppc_get_hypercall(env, hypercall, sizeof(hypercall)); in ppce500_load_device_tree() 481 hypercall, sizeof(hypercall)); in ppce500_load_device_tree()
|
/openbmc/linux/drivers/xen/ |
H A D | privcmd.c | 76 struct privcmd_hypercall hypercall; in privcmd_ioctl_hypercall() local 83 if (copy_from_user(&hypercall, udata, sizeof(hypercall))) in privcmd_ioctl_hypercall() 87 ret = privcmd_call(hypercall.op, in privcmd_ioctl_hypercall() 88 hypercall.arg[0], hypercall.arg[1], in privcmd_ioctl_hypercall() 89 hypercall.arg[2], hypercall.arg[3], in privcmd_ioctl_hypercall() 90 hypercall.arg[4]); in privcmd_ioctl_hypercall()
|
/openbmc/linux/Documentation/devicetree/bindings/arm/ |
H A D | xen.txt | 12 hypercall. 62 http://xenbits.xen.org/docs/unstable/hypercall/x86_64/include,public,platform.h.html.
|
/openbmc/linux/Documentation/translations/zh_CN/virt/acrn/ |
H A D | introduction.rst | 40 +---------------------hypercall----------------------------------------+
|
/openbmc/qemu/docs/specs/ |
H A D | ppc-spapr-hcalls.rst | 59 However, doing a hypercall for each access is extremely inefficient 63 This hypercall allows the guest to request a "memory op" to be applied
|
/openbmc/linux/Documentation/virt/acrn/ |
H A D | introduction.rst | 29 +---------------------hypercall----------------------------------------+
|
/openbmc/linux/Documentation/arch/x86/ |
H A D | tdx.rst | 19 TDX includes new hypercall-like mechanisms for communicating from the 65 hypercall but it is unlikely to succeed. 68 can make a hypercall to the hypervisor to handle the #VE. 93 value with a hypercall.
|
/openbmc/linux/arch/arm64/kvm/ |
H A D | hypercalls.c | 247 run->hypercall = (typeof(run->hypercall)) { in kvm_prepare_hypercall_exit()
|
/openbmc/linux/arch/powerpc/platforms/ps3/ |
H A D | Kconfig | 91 bool "PS3 Verbose LV1 hypercall results" if PS3_ADVANCED 94 Enables more verbose log messages for LV1 hypercall results.
|