diff options
author | Olivier Martin <olivier.martin@arm.com> | 2014-03-01 10:57:55 +0000 |
---|---|---|
committer | oliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524> | 2014-03-01 10:57:55 +0000 |
commit | eaa84fd553eb2288f1e192430a1800bf45e51c56 (patch) | |
tree | 397b52fb27dcd110b755ff4ccc62e9b42667d031 /ArmPlatformPkg/PrePeiCore | |
parent | 0ff0e414d13afd3cad5017a98bc1e257f64ed6d4 (diff) | |
download | edk2-eaa84fd553eb2288f1e192430a1800bf45e51c56.tar.gz edk2-eaa84fd553eb2288f1e192430a1800bf45e51c56.tar.bz2 edk2-eaa84fd553eb2288f1e192430a1800bf45e51c56.zip |
ArmPkg: Replace single dead loop.
Several assembler macros use a loop at the label "dead" to trap an error.
This is difficult to debug as there is no indication of how one arrived at the loop.
This change replaces dead with distinct loops locally in the macro,
which means the cause of the hang is detectable to the debugger.
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@15273 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'ArmPlatformPkg/PrePeiCore')
-rw-r--r-- | ArmPlatformPkg/PrePeiCore/AArch64/Exception.S | 5 | ||||
-rw-r--r-- | ArmPlatformPkg/PrePeiCore/AArch64/PrePeiCoreEntryPoint.S | 10 |
2 files changed, 4 insertions, 11 deletions
diff --git a/ArmPlatformPkg/PrePeiCore/AArch64/Exception.S b/ArmPlatformPkg/PrePeiCore/AArch64/Exception.S index 9ca422b2f5..1fc39e68a1 100644 --- a/ArmPlatformPkg/PrePeiCore/AArch64/Exception.S +++ b/ArmPlatformPkg/PrePeiCore/AArch64/Exception.S @@ -1,5 +1,5 @@ #
-# 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
@@ -79,6 +79,3 @@ _DefaultFiq_h: _DefaultSError_h:
mov x0, #EXCEPT_AARCH64_SERROR
TO_HANDLER
-
-dead:
- b dead
diff --git a/ArmPlatformPkg/PrePeiCore/AArch64/PrePeiCoreEntryPoint.S b/ArmPlatformPkg/PrePeiCore/AArch64/PrePeiCoreEntryPoint.S index 5bdbe4585f..05a823ba21 100644 --- a/ArmPlatformPkg/PrePeiCore/AArch64/PrePeiCoreEntryPoint.S +++ b/ArmPlatformPkg/PrePeiCore/AArch64/PrePeiCoreEntryPoint.S @@ -1,5 +1,5 @@ //
-// 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
@@ -43,13 +43,12 @@ ASM_PFX(_ModuleEntryPoint): // changes.
// Which EL are we running at? Every EL needs some level of setup...
- EL1_OR_EL2_OR_EL3(x0)
+// We should not run this code in EL3
+ EL1_OR_EL2(x0)
1:bl ASM_PFX(SetupExceptionLevel1)
b ASM_PFX(MainEntryPoint)
2:bl ASM_PFX(SetupExceptionLevel2)
b ASM_PFX(MainEntryPoint)
-3:// If we are at EL3 we die.
- b dead
ASM_PFX(MainEntryPoint):
// Identify CPU ID
@@ -109,6 +108,3 @@ _SetupPrimaryCoreStack: // 128-bit variable on the stack
SetPrimaryStack (x1, x2, x3, x4)
b _PrepareArguments
-
-dead:
- b dead
|