summaryrefslogtreecommitdiff
path: root/ArmPkg/Library/ArmLib/Arm11
diff options
context:
space:
mode:
authorOlivier Martin <olivier.martin@arm.com>2013-06-27 18:16:06 +0000
committeroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>2013-06-27 18:16:06 +0000
commit6f050ad6bf16f3f2ae2f0b62e93404230de575cc (patch)
tree0a71ac274cf21011bd82f9a1cd0eea5037cdbde9 /ArmPkg/Library/ArmLib/Arm11
parentca79c798217775368b6c6a0d0720f221ed2a62ef (diff)
downloadedk2-platforms-6f050ad6bf16f3f2ae2f0b62e93404230de575cc.tar.xz
ArmPkg: Made ArmConfigureMmu() returns a status code
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14445 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'ArmPkg/Library/ArmLib/Arm11')
-rw-r--r--ArmPkg/Library/ArmLib/Arm11/Arm11LibMem.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/ArmPkg/Library/ArmLib/Arm11/Arm11LibMem.c b/ArmPkg/Library/ArmLib/Arm11/Arm11LibMem.c
index c683861cbb..6b94c41862 100644
--- a/ArmPkg/Library/ArmLib/Arm11/Arm11LibMem.c
+++ b/ArmPkg/Library/ArmLib/Arm11/Arm11LibMem.c
@@ -1,6 +1,7 @@
/** @file
Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
+ Copyright (c) 2011 - 2013, ARM Limited. All rights reserved.
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
@@ -63,18 +64,21 @@ FillTranslationTable (
}
}
-VOID
+RETURN_STATUS
EFIAPI
ArmConfigureMmu (
IN ARM_MEMORY_REGION_DESCRIPTOR *MemoryTable,
- OUT VOID **TranslationTableBase OPTIONAL,
- OUT UINTN *TranslationTableSize OPTIONAL
+ OUT VOID **TranslationTableBase OPTIONAL,
+ OUT UINTN *TranslationTableSize OPTIONAL
)
{
VOID *TranslationTable;
// Allocate pages for translation table.
- TranslationTable = AllocatePages(EFI_SIZE_TO_PAGES(TRANSLATION_TABLE_SIZE + TRANSLATION_TABLE_ALIGNMENT));
+ TranslationTable = AllocatePages (EFI_SIZE_TO_PAGES (TRANSLATION_TABLE_SIZE + TRANSLATION_TABLE_ALIGNMENT));
+ if (TranslationTable == NULL) {
+ return RETURN_OUT_OF_RESOURCES;
+ }
TranslationTable = (VOID *)(((UINTN)TranslationTable + TRANSLATION_TABLE_ALIGNMENT_MASK) & ~TRANSLATION_TABLE_ALIGNMENT_MASK);
if (TranslationTableBase != NULL) {
@@ -125,9 +129,7 @@ ArmConfigureMmu (
ArmEnableInstructionCache();
ArmEnableDataCache();
- ArmEnableMmu();
-}
-
-
-
+ ArmEnableMmu();
+ return RETURN_SUCCESS;
+}