]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/XenBusDxe/XenStore.c
SourceLevelDebugPkg: Update package version to 0.96 to reflect new changes
[mirror_edk2.git] / OvmfPkg / XenBusDxe / XenStore.c
index f176b95a4ded24d095ed6929a9d26f8b12d648a8..9850f1e644fcdf018fe5ced27b12930e1a7181f3 100644 (file)
@@ -60,8 +60,8 @@
 \r
 #include <IndustryStandard/Xen/hvm/params.h>\r
 \r
-#include "XenHypercall.h"\r
 #include "EventChannel.h"\r
+#include <Library/XenHypercallLib.h>\r
 \r
 //\r
 // Private Data Structures\r
@@ -69,7 +69,7 @@
 \r
 typedef struct {\r
   CONST VOID  *Data;\r
-  UINT      Len;\r
+  UINT32      Len;\r
 } WRITE_REQUEST;\r
 \r
 /* Register callback to watch subtree (node) in the XenStore. */\r
@@ -248,7 +248,7 @@ Split (
 \r
   /* Transfer to one big alloc for easy freeing by the caller. */\r
   Dst = AllocatePool (*NumPtr * sizeof (CHAR8 *) + Len);\r
-  CopyMem (&Dst[*NumPtr], Strings, Len);\r
+  CopyMem ((VOID*)&Dst[*NumPtr], Strings, Len);\r
   FreePool (Strings);\r
 \r
   /* Extract pointers to newly allocated array. */\r
@@ -456,7 +456,7 @@ STATIC
 XENSTORE_STATUS\r
 XenStoreWriteStore (\r
   IN CONST VOID *DataPtr,\r
-  IN UINT     Len\r
+  IN UINT32     Len\r
   )\r
 {\r
   XENSTORE_RING_IDX Cons, Prod;\r
@@ -535,7 +535,7 @@ STATIC
 XENSTORE_STATUS\r
 XenStoreReadStore (\r
   OUT VOID *DataPtr,\r
-  IN  UINTN Len\r
+  IN  UINT32 Len\r
   )\r
 {\r
   XENSTORE_RING_IDX Cons, Prod;\r
@@ -660,7 +660,7 @@ XenStoreProcessMessage (
     } else {\r
       DEBUG ((EFI_D_WARN, "XenStore: Watch handle %a not found\n",\r
               Message->u.Watch.Vector[XS_WATCH_TOKEN]));\r
-      FreePool(Message->u.Watch.Vector);\r
+      FreePool((VOID*)Message->u.Watch.Vector);\r
       FreePool(Message);\r
     }\r
     EfiReleaseLock (&xs.RegisteredWatchesLock);\r
@@ -829,7 +829,7 @@ XenStoreTalkv (
     }\r
   }\r
 \r
-  Status = XenStoreReadReply (&Message.type, LenPtr, &Return);\r
+  Status = XenStoreReadReply ((enum xsd_sockmsg_type *)&Message.type, LenPtr, &Return);\r
 \r
 Error:\r
   if (Status != XENSTORE_STATUS_SUCCESS) {\r
@@ -843,7 +843,7 @@ Error:
   }\r
 \r
   /* Reply is either error or an echo of our request message type. */\r
-  ASSERT (Message.type == RequestType);\r
+  ASSERT ((enum xsd_sockmsg_type)Message.type == RequestType);\r
 \r
   if (ResultPtr) {\r
     *ResultPtr = Return;\r
@@ -883,7 +883,7 @@ XenStoreSingle (
   WRITE_REQUEST WriteRequest;\r
 \r
   WriteRequest.Data = (VOID *) Body;\r
-  WriteRequest.Len = AsciiStrSize (Body);\r
+  WriteRequest.Len = (UINT32)AsciiStrSize (Body);\r
 \r
   return XenStoreTalkv (Transaction, RequestType, &WriteRequest, 1,\r
                         LenPtr, Result);\r
@@ -912,9 +912,9 @@ XenStoreWatch (
   WRITE_REQUEST WriteRequest[2];\r
 \r
   WriteRequest[0].Data = (VOID *) Path;\r
-  WriteRequest[0].Len = AsciiStrSize (Path);\r
+  WriteRequest[0].Len = (UINT32)AsciiStrSize (Path);\r
   WriteRequest[1].Data = (VOID *) Token;\r
-  WriteRequest[1].Len = AsciiStrSize (Token);\r
+  WriteRequest[1].Len = (UINT32)AsciiStrSize (Token);\r
 \r
   return XenStoreTalkv (XST_NIL, XS_WATCH, WriteRequest, 2, NULL, NULL);\r
 }\r
@@ -938,9 +938,9 @@ XenStoreUnwatch (
   WRITE_REQUEST WriteRequest[2];\r
 \r
   WriteRequest[0].Data = (VOID *) Path;\r
-  WriteRequest[0].Len = AsciiStrSize (Path);\r
+  WriteRequest[0].Len = (UINT32)AsciiStrSize (Path);\r
   WriteRequest[1].Data = (VOID *) Token;\r
-  WriteRequest[1].Len = AsciiStrSize (Token);\r
+  WriteRequest[1].Len = (UINT32)AsciiStrSize (Token);\r
 \r
   return XenStoreTalkv (XST_NIL, XS_UNWATCH, WriteRequest, 2, NULL, NULL);\r
 }\r
@@ -975,7 +975,7 @@ XenStoreWaitWatch (
       if (Message->u.Watch.Handle == Token) {\r
         RemoveEntryList (Entry);\r
         EfiReleaseLock (&xs.WatchEventsLock);\r
-        FreePool(Message->u.Watch.Vector);\r
+        FreePool((VOID*)Message->u.Watch.Vector);\r
         FreePool(Message);\r
         return XENSTORE_STATUS_SUCCESS;\r
       }\r
@@ -1057,8 +1057,8 @@ XenStoreInit (
 \r
   xs.Dev = Dev;\r
 \r
-  xs.EventChannel = XenHypercallHvmGetParam (Dev, HVM_PARAM_STORE_EVTCHN);\r
-  XenStoreGpfn = XenHypercallHvmGetParam (Dev, HVM_PARAM_STORE_PFN);\r
+  xs.EventChannel = (evtchn_port_t)XenHypercallHvmGetParam (HVM_PARAM_STORE_EVTCHN);\r
+  XenStoreGpfn = (UINTN)XenHypercallHvmGetParam (HVM_PARAM_STORE_PFN);\r
   xs.XenStore = (VOID *) (XenStoreGpfn << EFI_PAGE_SHIFT);\r
   DEBUG ((EFI_D_INFO, "XenBusInit: XenBus rings @%p, event channel %x\n",\r
           xs.XenStore, xs.EventChannel));\r
@@ -1115,7 +1115,7 @@ XenStoreDeinit (
       XENSTORE_MESSAGE *Message = XENSTORE_MESSAGE_FROM_LINK (Entry);\r
       Entry = GetNextNode (&xs.WatchEvents, Entry);\r
       RemoveEntryList (&Message->Link);\r
-      FreePool (Message->u.Watch.Vector);\r
+      FreePool ((VOID*)Message->u.Watch.Vector);\r
       FreePool (Message);\r
     }\r
   }\r
@@ -1202,7 +1202,7 @@ XenStorePathExists (
   if (Status != XENSTORE_STATUS_SUCCESS) {\r
     return FALSE;\r
   }\r
-  FreePool (TempStr);\r
+  FreePool ((VOID*)TempStr);\r
   return TRUE;\r
 }\r
 \r
@@ -1245,9 +1245,9 @@ XenStoreWrite (
   Path = XenStoreJoin (DirectoryPath, Node);\r
 \r
   WriteRequest[0].Data = (VOID *) Path;\r
-  WriteRequest[0].Len = AsciiStrSize (Path);\r
+  WriteRequest[0].Len = (UINT32)AsciiStrSize (Path);\r
   WriteRequest[1].Data = (VOID *) Str;\r
-  WriteRequest[1].Len = AsciiStrLen (Str);\r
+  WriteRequest[1].Len = (UINT32)AsciiStrLen (Str);\r
 \r
   Status = XenStoreTalkv (Transaction, XS_WRITE, WriteRequest, 2, NULL, NULL);\r
   FreePool (Path);\r
@@ -1283,7 +1283,7 @@ XenStoreTransactionStart (
   Status = XenStoreSingle (XST_NIL, XS_TRANSACTION_START, "", NULL,\r
                            (VOID **) &IdStr);\r
   if (Status == XENSTORE_STATUS_SUCCESS) {\r
-    Transaction->Id = AsciiStrDecimalToUintn (IdStr);\r
+    Transaction->Id = (UINT32)AsciiStrDecimalToUintn (IdStr);\r
     FreePool (IdStr);\r
   }\r
 \r
@@ -1419,7 +1419,7 @@ XenStoreUnregisterWatch (
     Entry = GetNextNode (&xs.WatchEvents, Entry);\r
     if (Message->u.Watch.Handle == Watch) {\r
       RemoveEntryList (&Message->Link);\r
-      FreePool (Message->u.Watch.Vector);\r
+      FreePool ((VOID*)Message->u.Watch.Vector);\r
       FreePool (Message);\r
     }\r
   }\r