]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/XenBusDxe/EventChannel.c
OvmfPkg/XenBusDxe: fix VS2010 build failures
[mirror_edk2.git] / OvmfPkg / XenBusDxe / EventChannel.c
index c4076c49eaea38054d590e2bbc12c58c6c331cd2..03efaf9cb90417440a8d711074ed4ee4898a66fa 100644 (file)
@@ -29,5 +29,60 @@ XenEventChannelNotify (
 \r
   Send.port = Port;\r
   ReturnCode = XenHypercallEventChannelOp (Dev, EVTCHNOP_send, &Send);\r
+  return (UINT32)ReturnCode;\r
+}\r
+\r
+UINT32\r
+EFIAPI\r
+XenBusEventChannelAllocate (\r
+  IN  XENBUS_PROTOCOL *This,\r
+  IN  domid_t         DomainId,\r
+  OUT evtchn_port_t   *Port\r
+  )\r
+{\r
+  XENBUS_PRIVATE_DATA *Private;\r
+  evtchn_alloc_unbound_t Parameter;\r
+  UINT32 ReturnCode;\r
+\r
+  Private = XENBUS_PRIVATE_DATA_FROM_THIS (This);\r
+\r
+  Parameter.dom = DOMID_SELF;\r
+  Parameter.remote_dom = DomainId;\r
+  ReturnCode = (UINT32)XenHypercallEventChannelOp (Private->Dev,\r
+                                   EVTCHNOP_alloc_unbound,\r
+                                   &Parameter);\r
+  if (ReturnCode != 0) {\r
+    DEBUG ((EFI_D_ERROR, "ERROR: alloc_unbound failed with rc=%d", ReturnCode));\r
+    return ReturnCode;\r
+  }\r
+  *Port = Parameter.port;\r
   return ReturnCode;\r
 }\r
+\r
+UINT32\r
+EFIAPI\r
+XenBusEventChannelNotify (\r
+  IN XENBUS_PROTOCOL *This,\r
+  IN evtchn_port_t   Port\r
+  )\r
+{\r
+  XENBUS_PRIVATE_DATA *Private;\r
+\r
+  Private = XENBUS_PRIVATE_DATA_FROM_THIS(This);\r
+  return XenEventChannelNotify (Private->Dev, Port);\r
+}\r
+\r
+UINT32\r
+EFIAPI\r
+XenBusEventChannelClose (\r
+  IN XENBUS_PROTOCOL *This,\r
+  IN evtchn_port_t   Port\r
+  )\r
+{\r
+  XENBUS_PRIVATE_DATA *Private;\r
+  evtchn_close_t Close;\r
+\r
+  Private = XENBUS_PRIVATE_DATA_FROM_THIS (This);\r
+  Close.port = Port;\r
+  return (UINT32)XenHypercallEventChannelOp (Private->Dev, EVTCHNOP_close, &Close);\r
+}\r