]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/XenBusDxe/XenHypercall.c
Ovmf/Xen: move XenBusDxe hypercall code to separate library
[mirror_edk2.git] / OvmfPkg / XenBusDxe / XenHypercall.c
diff --git a/OvmfPkg/XenBusDxe/XenHypercall.c b/OvmfPkg/XenBusDxe/XenHypercall.c
deleted file mode 100644 (file)
index e7134fc..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-/** @file\r
-  Functions to make Xen hypercalls.\r
-\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
-\r
-**/\r
-\r
-#include <PiDxe.h>\r
-#include <Library/HobLib.h>\r
-#include <Guid/XenInfo.h>\r
-\r
-#include "XenBusDxe.h"\r
-#include "XenHypercall.h"\r
-\r
-#include <IndustryStandard/Xen/hvm/params.h>\r
-#include <IndustryStandard/Xen/memory.h>\r
-\r
-STATIC VOID       *HyperPage;\r
-\r
-//\r
-// Interface exposed by the ASM implementation of the core hypercall\r
-//\r
-INTN\r
-EFIAPI\r
-__XenHypercall2 (\r
-  IN     VOID *HypercallAddr,\r
-  IN OUT INTN Arg1,\r
-  IN OUT INTN Arg2\r
-  );\r
-\r
-EFI_STATUS\r
-XenHyperpageInit (\r
-  )\r
-{\r
-  EFI_HOB_GUID_TYPE   *GuidHob;\r
-  EFI_XEN_INFO        *XenInfo;\r
-\r
-  GuidHob = GetFirstGuidHob (&gEfiXenInfoGuid);\r
-  if (GuidHob == NULL) {\r
-    return EFI_NOT_FOUND;\r
-  }\r
-  XenInfo = (EFI_XEN_INFO *) GET_GUID_HOB_DATA (GuidHob);\r
-  HyperPage = XenInfo->HyperPages;\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-UINT64\r
-XenHypercallHvmGetParam (\r
-  IN UINT32        Index\r
-  )\r
-{\r
-  xen_hvm_param_t     Parameter;\r
-  INTN                Error;\r
-\r
-  Parameter.domid = DOMID_SELF;\r
-  Parameter.index = Index;\r
-  Error = XenHypercall2 (__HYPERVISOR_hvm_op,\r
-                         HVMOP_get_param, (INTN) &Parameter);\r
-  if (Error != 0) {\r
-    DEBUG ((EFI_D_ERROR,\r
-            "XenHypercall: Error %d trying to get HVM parameter %d\n",\r
-            Error, Index));\r
-    return 0;\r
-  }\r
-  return Parameter.value;\r
-}\r
-\r
-INTN\r
-XenHypercallMemoryOp (\r
-  IN     UINTN Operation,\r
-  IN OUT VOID *Arguments\r
-  )\r
-{\r
-  return XenHypercall2 (__HYPERVISOR_memory_op,\r
-                        Operation, (INTN) Arguments);\r
-}\r
-\r
-INTN\r
-XenHypercallEventChannelOp (\r
-  IN     INTN Operation,\r
-  IN OUT VOID *Arguments\r
-  )\r
-{\r
-  return XenHypercall2 (__HYPERVISOR_event_channel_op,\r
-                        Operation, (INTN) Arguments);\r
-}\r
-\r
-INTN\r
-EFIAPI\r
-XenHypercall2 (\r
-  IN     UINTN  HypercallID,\r
-  IN OUT INTN   Arg1,\r
-  IN OUT INTN   Arg2\r
-  )\r
-{\r
-  ASSERT (HyperPage != NULL);\r
-\r
-  return __XenHypercall2 ((UINT8*)HyperPage + HypercallID * 32, Arg1, Arg2);\r
-}\r