]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/XenBusDxe/GrantTable.c
OvmfPkg/AcpiPlatformDxe: update PointerValue comments in "BootScript.c"
[mirror_edk2.git] / OvmfPkg / XenBusDxe / GrantTable.c
index a80d5eff39cdfd65d2eac6f517e7f1431a90091a..90dec26ab00147bc1788a2b778c238e0073054af 100644 (file)
@@ -35,9 +35,9 @@
 #include <IndustryStandard/Xen/memory.h>\r
 \r
 #include <Library/XenHypercallLib.h>\r
+#include <Library/SynchronizationLib.h>\r
 \r
 #include "GrantTable.h"\r
-#include "InterlockedCompareExchange16.h"\r
 \r
 #define NR_RESERVED_ENTRIES 8\r
 \r
@@ -139,8 +139,7 @@ XenGrantTableEndAccess (
 \r
 VOID\r
 XenGrantTableInit (\r
-  IN XENBUS_DEVICE  *Dev,\r
-  IN UINT64         MmioAddr\r
+  IN XENBUS_DEVICE  *Dev\r
   )\r
 {\r
   xen_add_to_physmap_t Parameters;\r
@@ -155,7 +154,7 @@ XenGrantTableInit (
     XenGrantTablePutFreeEntry ((grant_ref_t)Index);\r
   }\r
 \r
-  GrantTable = (VOID*)(UINTN) MmioAddr;\r
+  GrantTable = (VOID*)(UINTN) Dev->XenIo->GrantTableAddress;\r
   for (Index = 0; Index < NR_GRANT_FRAMES; Index++) {\r
     Parameters.domid = DOMID_SELF;\r
     Parameters.idx = Index;\r
@@ -163,7 +162,9 @@ XenGrantTableInit (
     Parameters.gpfn = (xen_pfn_t) ((UINTN) GrantTable >> EFI_PAGE_SHIFT) + Index;\r
     ReturnCode = XenHypercallMemoryOp (XENMEM_add_to_physmap, &Parameters);\r
     if (ReturnCode != 0) {\r
-      DEBUG ((EFI_D_ERROR, "Xen GrantTable, add_to_physmap hypercall error: %d\n", ReturnCode));\r
+      DEBUG ((EFI_D_ERROR,\r
+        "Xen GrantTable, add_to_physmap hypercall error: %Ld\n",\r
+        (INT64)ReturnCode));\r
     }\r
   }\r
 }\r
@@ -183,10 +184,13 @@ XenGrantTableDeinit (
   for (Index = NR_GRANT_FRAMES - 1; Index >= 0; Index--) {\r
     Parameters.domid = DOMID_SELF;\r
     Parameters.gpfn = (xen_pfn_t) ((UINTN) GrantTable >> EFI_PAGE_SHIFT) + Index;\r
-    DEBUG ((EFI_D_INFO, "Xen GrantTable, removing %X\n", Parameters.gpfn));\r
+    DEBUG ((EFI_D_INFO, "Xen GrantTable, removing %Lx\n",\r
+      (UINT64)Parameters.gpfn));\r
     ReturnCode = XenHypercallMemoryOp (XENMEM_remove_from_physmap, &Parameters);\r
     if (ReturnCode != 0) {\r
-      DEBUG ((EFI_D_ERROR, "Xen GrantTable, remove_from_physmap hypercall error: %d\n", ReturnCode));\r
+      DEBUG ((EFI_D_ERROR,\r
+        "Xen GrantTable, remove_from_physmap hypercall error: %Ld\n",\r
+        (INT64)ReturnCode));\r
     }\r
   }\r
   GrantTable = NULL;\r