]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/Include/Library/XenHypercallLib.h
OvmfPkg/MemEncryptSevLib: find pages of initial SMRAM save state map
[mirror_edk2.git] / OvmfPkg / Include / Library / XenHypercallLib.h
index 1a468ea7dcc5e6bd05391d84b8e3cb8b28d4dc17..36e3344e2f9df758066db0fca5aefa8e9243ced2 100644 (file)
 #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
@@ -42,6 +58,7 @@ XenHypercall2 (
   @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
@@ -56,6 +73,7 @@ XenHypercallHvmGetParam (
            otherwise, an error code.\r
 **/\r
 INTN\r
+EFIAPI\r
 XenHypercallMemoryOp (\r
   IN     UINTN Operation,\r
   IN OUT VOID *Arguments\r
@@ -71,6 +89,7 @@ XenHypercallMemoryOp (
            otherwise, an error code.\r
 **/\r
 INTN\r
+EFIAPI\r
 XenHypercallEventChannelOp (\r
   IN     INTN Operation,\r
   IN OUT VOID *Arguments\r