\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
\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
} 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
}\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
}\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
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
\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
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
if (Status != XENSTORE_STATUS_SUCCESS) {\r
return FALSE;\r
}\r
- FreePool (TempStr);\r
+ FreePool ((VOID*)TempStr);\r
return TRUE;\r
}\r
\r
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
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