\r
Copyright (C) 2014, Citrix Ltd.\r
\r
- This program and the accompanying materials\r
- are licensed and made available under the terms and conditions of the BSD License\r
- which accompanies this distribution. The full text of the license may be found at\r
- http://opensource.org/licenses/bsd-license.php\r
-\r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
#ifndef __XEN_HYPERCALL_LIB_H__\r
#define __XEN_HYPERCALL_LIB_H__\r
\r
+/**\r
+ Check if the Xen Hypercall library is able to make calls to the Xen\r
+ hypervisor.\r
+\r
+ Client code should call further functions in this library only if, and after,\r
+ this function returns TRUE.\r
+\r
+ @retval TRUE Hypercalls are available.\r
+ @retval FALSE Hypercalls are not available.\r
+**/\r
+BOOLEAN\r
+EFIAPI\r
+XenHypercallIsAvailable (\r
+ VOID\r
+ );\r
+\r
/**\r
This function will put the two arguments in the right place (registers) and\r
invoke the hypercall identified by HypercallID.\r
@return The value of the asked parameter or 0 in case of error.\r
**/\r
UINT64\r
+EFIAPI\r
XenHypercallHvmGetParam (\r
UINT32 Index\r
);\r
otherwise, an error code.\r
**/\r
INTN\r
+EFIAPI\r
XenHypercallMemoryOp (\r
IN UINTN Operation,\r
IN OUT VOID *Arguments\r
otherwise, an error code.\r
**/\r
INTN\r
+EFIAPI\r
XenHypercallEventChannelOp (\r
IN INTN Operation,\r
IN OUT VOID *Arguments\r