]>
git.proxmox.com Git - mirror_edk2.git/blob - OvmfPkg/XenBusDxe/XenHypercall.h
2 Functions declarations to make Xen hypercalls.
4 Copyright (C) 2014, Citrix Ltd.
6 This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
16 #ifndef __XENBUS_DXE_HYPERCALL_H__
17 #define __XENBUS_DXE_HYPERCALL_H__
20 This function will put the two arguments in the right place (registers) and
21 invoke the hypercall identified by HypercallID.
23 @param HypercallID The symbolic ID of the hypercall to be invoked
24 @param Arg1 First argument.
25 @param Arg2 Second argument.
27 @return Return 0 if success otherwise it return an errno.
38 Get the page where all hypercall are from the XenInfo hob.
40 @param Dev A XENBUS_DEVICE instance.
42 @retval EFI_NOT_FOUND hyperpage could not be found.
43 @retval EFI_SUCCESS Successfully retrieve the hyperpage pointer.
50 Return the value of the HVM parameter Index.
52 @param Index The parameter to get, e.g. HVM_PARAM_STORE_EVTCHN.
54 @return The value of the asked parameter or 0 in case of error.
57 XenHypercallHvmGetParam (
62 Hypercall to do different operation on the memory.
64 @param Operation The operation number, e.g. XENMEM_add_to_physmap.
65 @param Arguments The arguments associated to the operation.
67 @return Return the return value from the hypercall, 0 in case of success
68 otherwise, an error code.
71 XenHypercallMemoryOp (
73 IN OUT VOID
*Arguments
77 Do an operation on the event channels.
79 @param Operation The operation number, e.g. EVTCHNOP_send.
80 @param Arguments The argument associated to the operation.
82 @return Return the return value from the hypercall, 0 in case of success
83 otherwise, an error code.
86 XenHypercallEventChannelOp (
88 IN OUT VOID
*Arguments