ArmPkg/ArmMmuLib: use correct return type for exported functions
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Wed, 1 Mar 2017 16:31:39 +0000 (16:31 +0000)
committerArd Biesheuvel <ard.biesheuvel@linaro.org>
Tue, 7 Mar 2017 08:37:09 +0000 (09:37 +0100)
The routines ArmConfigureMmu(), SetMemoryAttributes() [*] and the
various set/clear read-only/no-exec routines are declared as returning
EFI_STATUS in the respective header files, so align the definitions with
that.

* SetMemoryAttributes() is declared in the wrong header (and defined in
  ArmMmuLib for AARCH64 and in CpuDxe for ARM)

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
ArmPkg/Library/ArmMmuLib/AArch64/ArmMmuLibCore.c
ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibCore.c

index 2f8f99d44a31cd6b4d4ec3dd3d47469899430fee..df170d20a2c259fd6f1b2cb0a54a7337b07a2785 100644 (file)
@@ -329,7 +329,7 @@ GetBlockEntryListFromAddress (
 }\r
 \r
 STATIC\r
-RETURN_STATUS\r
+EFI_STATUS\r
 UpdateRegionMapping (\r
   IN  UINT64  *RootTable,\r
   IN  UINT64  RegionStart,\r
@@ -347,7 +347,7 @@ UpdateRegionMapping (
   // Ensure the Length is aligned on 4KB boundary\r
   if ((RegionLength == 0) || ((RegionLength & (SIZE_4KB - 1)) != 0)) {\r
     ASSERT_EFI_ERROR (EFI_INVALID_PARAMETER);\r
-    return RETURN_INVALID_PARAMETER;\r
+    return EFI_INVALID_PARAMETER;\r
   }\r
 \r
   do {\r
@@ -357,7 +357,7 @@ UpdateRegionMapping (
     BlockEntry = GetBlockEntryListFromAddress (RootTable, RegionStart, &TableLevel, &BlockEntrySize, &LastBlockEntry);\r
     if (BlockEntry == NULL) {\r
       // GetBlockEntryListFromAddress() return NULL when it fails to allocate new pages from the Translation Tables\r
-      return RETURN_OUT_OF_RESOURCES;\r
+      return EFI_OUT_OF_RESOURCES;\r
     }\r
 \r
     if (TableLevel != 3) {\r
@@ -385,11 +385,11 @@ UpdateRegionMapping (
     } while ((RegionLength >= BlockEntrySize) && (BlockEntry <= LastBlockEntry));\r
   } while (RegionLength != 0);\r
 \r
-  return RETURN_SUCCESS;\r
+  return EFI_SUCCESS;\r
 }\r
 \r
 STATIC\r
-RETURN_STATUS\r
+EFI_STATUS\r
 FillTranslationTable (\r
   IN  UINT64                        *RootTable,\r
   IN  ARM_MEMORY_REGION_DESCRIPTOR  *MemoryRegion\r
@@ -446,7 +446,7 @@ GcdAttributeToPageAttribute (
   return PageAttributes | TT_AF;\r
 }\r
 \r
-RETURN_STATUS\r
+EFI_STATUS\r
 SetMemoryAttributes (\r
   IN EFI_PHYSICAL_ADDRESS      BaseAddress,\r
   IN UINT64                    Length,\r
@@ -454,7 +454,7 @@ SetMemoryAttributes (
   IN EFI_PHYSICAL_ADDRESS      VirtualMask\r
   )\r
 {\r
-  RETURN_STATUS                Status;\r
+  EFI_STATUS                   Status;\r
   UINT64                      *TranslationTable;\r
   UINT64                       PageAttributes;\r
   UINT64                       PageAttributeMask;\r
@@ -480,18 +480,18 @@ SetMemoryAttributes (
              Length,\r
              PageAttributes,\r
              PageAttributeMask);\r
-  if (RETURN_ERROR (Status)) {\r
+  if (EFI_ERROR (Status)) {\r
     return Status;\r
   }\r
 \r
   // Invalidate all TLB entries so changes are synced\r
   ArmInvalidateTlb ();\r
 \r
-  return RETURN_SUCCESS;\r
+  return EFI_SUCCESS;\r
 }\r
 \r
 STATIC\r
-RETURN_STATUS\r
+EFI_STATUS\r
 SetMemoryRegionAttribute (\r
   IN  EFI_PHYSICAL_ADDRESS      BaseAddress,\r
   IN  UINT64                    Length,\r
@@ -499,23 +499,23 @@ SetMemoryRegionAttribute (
   IN  UINT64                    BlockEntryMask\r
   )\r
 {\r
-  RETURN_STATUS                Status;\r
+  EFI_STATUS                   Status;\r
   UINT64                       *RootTable;\r
 \r
   RootTable = ArmGetTTBR0BaseAddress ();\r
 \r
   Status = UpdateRegionMapping (RootTable, BaseAddress, Length, Attributes, BlockEntryMask);\r
-  if (RETURN_ERROR (Status)) {\r
+  if (EFI_ERROR (Status)) {\r
     return Status;\r
   }\r
 \r
   // Invalidate all TLB entries so changes are synced\r
   ArmInvalidateTlb ();\r
 \r
-  return RETURN_SUCCESS;\r
+  return EFI_SUCCESS;\r
 }\r
 \r
-RETURN_STATUS\r
+EFI_STATUS\r
 ArmSetMemoryRegionNoExec (\r
   IN  EFI_PHYSICAL_ADDRESS      BaseAddress,\r
   IN  UINT64                    Length\r
@@ -536,7 +536,7 @@ ArmSetMemoryRegionNoExec (
            ~TT_ADDRESS_MASK_BLOCK_ENTRY);\r
 }\r
 \r
-RETURN_STATUS\r
+EFI_STATUS\r
 ArmClearMemoryRegionNoExec (\r
   IN  EFI_PHYSICAL_ADDRESS      BaseAddress,\r
   IN  UINT64                    Length\r
@@ -554,7 +554,7 @@ ArmClearMemoryRegionNoExec (
            Mask);\r
 }\r
 \r
-RETURN_STATUS\r
+EFI_STATUS\r
 ArmSetMemoryRegionReadOnly (\r
   IN  EFI_PHYSICAL_ADDRESS      BaseAddress,\r
   IN  UINT64                    Length\r
@@ -567,7 +567,7 @@ ArmSetMemoryRegionReadOnly (
            ~TT_ADDRESS_MASK_BLOCK_ENTRY);\r
 }\r
 \r
-RETURN_STATUS\r
+EFI_STATUS\r
 ArmClearMemoryRegionReadOnly (\r
   IN  EFI_PHYSICAL_ADDRESS      BaseAddress,\r
   IN  UINT64                    Length\r
@@ -580,7 +580,7 @@ ArmClearMemoryRegionReadOnly (
            ~(TT_ADDRESS_MASK_BLOCK_ENTRY | TT_AP_MASK));\r
 }\r
 \r
-RETURN_STATUS\r
+EFI_STATUS\r
 EFIAPI\r
 ArmConfigureMmu (\r
   IN  ARM_MEMORY_REGION_DESCRIPTOR  *MemoryTable,\r
@@ -594,11 +594,11 @@ ArmConfigureMmu (
   UINTN                         T0SZ;\r
   UINTN                         RootTableEntryCount;\r
   UINT64                        TCR;\r
-  RETURN_STATUS                 Status;\r
+  EFI_STATUS                    Status;\r
 \r
   if(MemoryTable == NULL) {\r
     ASSERT (MemoryTable != NULL);\r
-    return RETURN_INVALID_PARAMETER;\r
+    return EFI_INVALID_PARAMETER;\r
   }\r
 \r
   // Cover the entire GCD memory space\r
@@ -632,7 +632,7 @@ ArmConfigureMmu (
     } else {\r
       DEBUG ((EFI_D_ERROR, "ArmConfigureMmu: The MaxAddress 0x%lX is not supported by this MMU configuration.\n", MaxAddress));\r
       ASSERT (0); // Bigger than 48-bit memory space are not supported\r
-      return RETURN_UNSUPPORTED;\r
+      return EFI_UNSUPPORTED;\r
     }\r
   } else if (ArmReadCurrentEL () == AARCH64_EL1) {\r
     // Due to Cortex-A57 erratum #822227 we must set TG1[1] == 1, regardless of EPD1.\r
@@ -654,11 +654,11 @@ ArmConfigureMmu (
     } else {\r
       DEBUG ((EFI_D_ERROR, "ArmConfigureMmu: The MaxAddress 0x%lX is not supported by this MMU configuration.\n", MaxAddress));\r
       ASSERT (0); // Bigger than 48-bit memory space are not supported\r
-      return RETURN_UNSUPPORTED;\r
+      return EFI_UNSUPPORTED;\r
     }\r
   } else {\r
     ASSERT (0); // UEFI is only expected to run at EL2 and EL1, not EL3.\r
-    return RETURN_UNSUPPORTED;\r
+    return EFI_UNSUPPORTED;\r
   }\r
 \r
   //\r
@@ -680,7 +680,7 @@ ArmConfigureMmu (
   // Allocate pages for translation table\r
   TranslationTable = AllocatePages (1);\r
   if (TranslationTable == NULL) {\r
-    return RETURN_OUT_OF_RESOURCES;\r
+    return EFI_OUT_OF_RESOURCES;\r
   }\r
   // We set TTBR0 just after allocating the table to retrieve its location from the subsequent\r
   // functions without needing to pass this value across the functions. The MMU is only enabled\r
@@ -719,7 +719,7 @@ ArmConfigureMmu (
     DEBUG_CODE_END ();\r
 \r
     Status = FillTranslationTable (TranslationTable, MemoryTable);\r
-    if (RETURN_ERROR (Status)) {\r
+    if (EFI_ERROR (Status)) {\r
       goto FREE_TRANSLATION_TABLE;\r
     }\r
     MemoryTable++;\r
@@ -739,7 +739,7 @@ ArmConfigureMmu (
   ArmEnableDataCache ();\r
 \r
   ArmEnableMmu ();\r
-  return RETURN_SUCCESS;\r
+  return EFI_SUCCESS;\r
 \r
 FREE_TRANSLATION_TABLE:\r
   FreePages (TranslationTable, 1);\r
index 4b6f4ce392b72dab62aa3db11090732c446dba11..f981c5bbcab637133c3cc42e799a333c96354e5d 100644 (file)
@@ -406,40 +406,41 @@ ArmConfigureMmu (
   return RETURN_SUCCESS;\r
 }\r
 \r
-RETURN_STATUS\r
+\r
+EFI_STATUS\r
 ArmSetMemoryRegionNoExec (\r
   IN  EFI_PHYSICAL_ADDRESS      BaseAddress,\r
   IN  UINT64                    Length\r
   )\r
 {\r
-  return RETURN_UNSUPPORTED;\r
+  return EFI_UNSUPPORTED;\r
 }\r
 \r
-RETURN_STATUS\r
+EFI_STATUS\r
 ArmClearMemoryRegionNoExec (\r
   IN  EFI_PHYSICAL_ADDRESS      BaseAddress,\r
   IN  UINT64                    Length\r
   )\r
 {\r
-  return RETURN_UNSUPPORTED;\r
+  return EFI_UNSUPPORTED;\r
 }\r
 \r
-RETURN_STATUS\r
+EFI_STATUS\r
 ArmSetMemoryRegionReadOnly (\r
   IN  EFI_PHYSICAL_ADDRESS      BaseAddress,\r
   IN  UINT64                    Length\r
   )\r
 {\r
-  return RETURN_UNSUPPORTED;\r
+  return EFI_UNSUPPORTED;\r
 }\r
 \r
-RETURN_STATUS\r
+EFI_STATUS\r
 ArmClearMemoryRegionReadOnly (\r
   IN  EFI_PHYSICAL_ADDRESS      BaseAddress,\r
   IN  UINT64                    Length\r
   )\r
 {\r
-  return RETURN_UNSUPPORTED;\r
+  return EFI_UNSUPPORTED;\r
 }\r
 \r
 RETURN_STATUS\r