第一次提交
This commit is contained in:
64
arch/include/armv7-r/exceptions.h
Normal file
64
arch/include/armv7-r/exceptions.h
Normal file
@@ -0,0 +1,64 @@
|
||||
/*
|
||||
* exceptions.h
|
||||
*
|
||||
* Copyright (c) 2021 Semidrive Semiconductor.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Description: ARMV7R exceptions interface.
|
||||
*
|
||||
* Revision History:
|
||||
* -----------------
|
||||
*/
|
||||
|
||||
#ifndef INCLUDE_ARCH_ARMV7R_EXCEPTIONS_H
|
||||
#define INCLUDE_ARCH_ARMV7R_EXCEPTIONS_H
|
||||
|
||||
struct arm_iframe {
|
||||
#if CONFIG_ARCH_WITH_FPU
|
||||
uint32_t fpexc;
|
||||
#endif
|
||||
uint32_t usp;
|
||||
uint32_t ulr;
|
||||
uint32_t r0;
|
||||
uint32_t r1;
|
||||
uint32_t r2;
|
||||
uint32_t r3;
|
||||
uint32_t r4;
|
||||
uint32_t r12;
|
||||
uint32_t lr;
|
||||
uint32_t pc;
|
||||
uint32_t spsr;
|
||||
};
|
||||
|
||||
struct arm_fault_frame {
|
||||
#if CONFIG_ARCH_WITH_FPU
|
||||
uint32_t fpexc;
|
||||
#endif
|
||||
uint32_t usp;
|
||||
uint32_t ulr;
|
||||
uint32_t r[13];
|
||||
uint32_t lr;
|
||||
uint32_t pc;
|
||||
uint32_t spsr;
|
||||
};
|
||||
|
||||
struct arm_mode_regs {
|
||||
uint32_t usr_r13, usr_r14;
|
||||
uint32_t fiq_r13, fiq_r14;
|
||||
uint32_t irq_r13, irq_r14;
|
||||
uint32_t svc_r13, svc_r14;
|
||||
uint32_t abt_r13, abt_r14;
|
||||
uint32_t und_r13, und_r14;
|
||||
uint32_t sys_r13, sys_r14;
|
||||
};
|
||||
|
||||
void arm_save_mode_regs(struct arm_mode_regs *regs);
|
||||
void Arm_Undefined_Handler(void);
|
||||
void Arm_Prefetch_Handler(void);
|
||||
void Arm_Abort_Handler(void);
|
||||
void Arm_SWI_Handler(void);
|
||||
void Arm_IRQ_Handler(void);
|
||||
void Arm_FIQ_Handler(void);
|
||||
void arm_reserved(void);
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user