1// 2// Copyright (c) 2011, ARM Limited. All rights reserved. 3// 4// This program and the accompanying materials 5// are licensed and made available under the terms and conditions of the BSD License 6// which accompanies this distribution. The full text of the license may be found at 7// http://opensource.org/licenses/bsd-license.php 8// 9// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 10// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 11// 12// 13 14#include <AsmMacroIoLib.h> 15#include <Base.h> 16#include <AutoGen.h> 17 18 IMPORT PeiCommonExceptionEntry 19 EXPORT PeiVectorTable 20 21 PRESERVE8 22 AREA PrePeiCoreException, CODE, READONLY, CODEALIGN, ALIGN=5 23 24//============================================================ 25//Default Exception Handlers 26//============================================================ 27 28 29PeiVectorTable 30 b _DefaultResetHandler 31 b _DefaultUndefined 32 b _DefaultSWI 33 b _DefaultPrefetchAbort 34 b _DefaultDataAbort 35 b _DefaultReserved 36 b _DefaultIrq 37 b _DefaultFiq 38 39// 40// Default Exception handlers: There is no plan to return from any of these exceptions. 41// No context saving at all. 42// 43_DefaultResetHandler 44 mov r1, lr 45 cps #0x13 ; Switch to SVC for common stack 46 mov r0, #0 47 blx PeiCommonExceptionEntry 48 49_DefaultUndefined 50 sub r1, LR, #4 51 cps #0x13 ; Switch to SVC for common stack 52 mov r0, #1 53 blx PeiCommonExceptionEntry 54 55_DefaultSWI 56 sub r1, LR, #4 57 cps #0x13 ; Switch to SVC for common stack 58 mov r0, #2 59 blx PeiCommonExceptionEntry 60 61_DefaultPrefetchAbort 62 sub r1, LR, #4 63 cps #0x13 ; Switch to SVC for common stack 64 mov r0, #3 65 blx PeiCommonExceptionEntry 66 67_DefaultDataAbort 68 sub r1, LR, #8 69 cps #0x13 ; Switch to SVC for common stack 70 mov r0, #4 71 blx PeiCommonExceptionEntry 72 73_DefaultReserved 74 mov r1, lr 75 cps #0x13 ; Switch to SVC for common stack 76 mov r0, #5 77 blx PeiCommonExceptionEntry 78 79_DefaultIrq 80 sub r1, LR, #4 81 cps #0x13 ; Switch to SVC for common stack 82 mov r0, #6 83 blx PeiCommonExceptionEntry 84 85_DefaultFiq 86 sub r1, LR, #4 87 cps #0x13 ; Switch to SVC for common stack 88 mov r0, #7 89 blx PeiCommonExceptionEntry 90 91 END 92