// | |
// Copyright (c) 2011, ARM Limited. All rights reserved. | |
// | |
# SPDX-License-Identifier: BSD-2-Clause-Patent | |
# | |
# | |
#include <AsmMacroIoLib.h> | |
#include <Base.h> | |
#include <AutoGen.h> | |
#start of the code section | |
.text | |
.align 5 | |
# IMPORT | |
GCC_ASM_IMPORT(PeiCommonExceptionEntry) | |
# EXPORT | |
GCC_ASM_EXPORT(PeiVectorTable) | |
//============================================================ | |
//Default Exception Handlers | |
//============================================================ | |
ASM_PFX(PeiVectorTable): | |
b _DefaultResetHandler | |
b _DefaultUndefined | |
b _DefaultSWI | |
b _DefaultPrefetchAbort | |
b _DefaultDataAbort | |
b _DefaultReserved | |
b _DefaultIrq | |
b _DefaultFiq | |
// | |
// Default Exception handlers: There is no plan to return from any of these exceptions. | |
// No context saving at all. | |
// | |
_DefaultResetHandler: | |
mov r1, lr | |
# Switch to SVC for common stack | |
cps #0x13 | |
mov r0, #0 | |
blx ASM_PFX(PeiCommonExceptionEntry) | |
_DefaultUndefined: | |
sub r1, LR, #4 | |
# Switch to SVC for common stack | |
cps #0x13 | |
mov r0, #1 | |
blx ASM_PFX(PeiCommonExceptionEntry) | |
_DefaultSWI: | |
sub r1, LR, #4 | |
# Switch to SVC for common stack | |
cps #0x13 | |
mov r0, #2 | |
blx ASM_PFX(PeiCommonExceptionEntry) | |
_DefaultPrefetchAbort: | |
sub r1, LR, #4 | |
# Switch to SVC for common stack | |
cps #0x13 | |
mov r0, #3 | |
blx ASM_PFX(PeiCommonExceptionEntry) | |
_DefaultDataAbort: | |
sub r1, LR, #8 | |
# Switch to SVC for common stack | |
cps #0x13 | |
mov r0, #4 | |
blx ASM_PFX(PeiCommonExceptionEntry) | |
_DefaultReserved: | |
mov r1, lr | |
# Switch to SVC for common stack | |
cps #0x13 | |
mov r0, #5 | |
blx ASM_PFX(PeiCommonExceptionEntry) | |
_DefaultIrq: | |
sub r1, LR, #4 | |
# Switch to SVC for common stack | |
cps #0x13 | |
mov r0, #6 | |
blx ASM_PFX(PeiCommonExceptionEntry) | |
_DefaultFiq: | |
sub r1, LR, #4 | |
# Switch to SVC for common stack | |
cps #0x13 | |
mov r0, #7 | |
blx ASM_PFX(PeiCommonExceptionEntry) | |