diff options
Diffstat (limited to 'ArmPkg')
-rw-r--r-- | ArmPkg/Include/AsmMacroIoLibV8.h | 24 | ||||
-rw-r--r-- | ArmPkg/Library/ArmLib/AArch64/AArch64Support.S | 3 | ||||
-rw-r--r-- | ArmPkg/Library/ArmLib/Common/AArch64/ArmLibSupport.S | 4 |
3 files changed, 13 insertions, 18 deletions
diff --git a/ArmPkg/Include/AsmMacroIoLibV8.h b/ArmPkg/Include/AsmMacroIoLibV8.h index 78a033cb4f..5ab1b5723e 100644 --- a/ArmPkg/Include/AsmMacroIoLibV8.h +++ b/ArmPkg/Include/AsmMacroIoLibV8.h @@ -106,24 +106,24 @@ _InitializePrimaryStackEnd: // Provide the Macro with a safe temp xreg to use.
#define EL1_OR_EL2(SAFE_XREG) \
mrs SAFE_XREG, CurrentEL ;\
- cmp SAFE_XREG, #0x4 ;\
- b.eq 1f ;\
- cmp SAFE_XREG, #0x8 ;\
- b.eq 2f ;\
- b dead ;// We should never get here.
+ cmp SAFE_XREG, #0x8 ;\
+ b.eq 2f ;\
+ cmp SAFE_XREG, #0x4 ;\
+ b.ne . ;// We should never get here
+// EL1 code starts here
// CurrentEL : 0xC = EL3; 8 = EL2; 4 = EL1
// This only selects between EL1 and EL2 and EL3, else we die.
// Provide the Macro with a safe temp xreg to use.
-#define EL1_OR_EL2_OR_EL3(SAFE_XREG) \
+#define EL1_OR_EL2_OR_EL3(SAFE_XREG) \
mrs SAFE_XREG, CurrentEL ;\
+ cmp SAFE_XREG, #0xC ;\
+ b.eq 3f ;\
+ cmp SAFE_XREG, #0x8 ;\
+ b.eq 2f ;\
cmp SAFE_XREG, #0x4 ;\
- b.eq 1f ;\
- cmp SAFE_XREG, #0x8 ;\
- b.eq 2f ;\
- cmp SAFE_XREG, #0xC ;\
- b.eq 3f ;\
- b dead ;// We should never get here.
+ b.ne . ;// We should never get here
+// EL1 code starts here
#else
diff --git a/ArmPkg/Library/ArmLib/AArch64/AArch64Support.S b/ArmPkg/Library/ArmLib/AArch64/AArch64Support.S index 5901ffacd4..66c310bb31 100644 --- a/ArmPkg/Library/ArmLib/AArch64/AArch64Support.S +++ b/ArmPkg/Library/ArmLib/AArch64/AArch64Support.S @@ -503,7 +503,4 @@ ASM_PFX(ArmReadCurrentEL): mrs x0, CurrentEL
ret
-dead:
- b dead
-
ASM_FUNCTION_REMOVE_IF_UNREFERENCED
diff --git a/ArmPkg/Library/ArmLib/Common/AArch64/ArmLibSupport.S b/ArmPkg/Library/ArmLib/Common/AArch64/ArmLibSupport.S index cf2ec76be9..5dd3fca5e9 100644 --- a/ArmPkg/Library/ArmLib/Common/AArch64/ArmLibSupport.S +++ b/ArmPkg/Library/ArmLib/Common/AArch64/ArmLibSupport.S @@ -1,7 +1,7 @@ #------------------------------------------------------------------------------
#
# Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
-# Copyright (c) 2011 - 2013, ARM Limited. All rights reserved.
+# Copyright (c) 2011 - 2014, 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
@@ -196,7 +196,5 @@ ASM_PFX(ArmCallSEV): sev
ret
-dead:
- b dead
ASM_FUNCTION_REMOVE_IF_UNREFERENCED
|