📄 ssp_except_ppc.h
字号:
#ifdef __cplusplusextern "C"{#endif#ifndef _SSP_EXCEPT_PPC_H_#define _SSP_EXCEPT_PPC_H_#define EXCEPTION_INIT_FLAG 0XABCDABCD#define EXCEPTION_STACK_LAYER 20#define EXCEPTION_STACK_SIZE 128#define EXCEPTION_SAVE_MSG_LEN 1024#define EXCEPTION_RECORD_NUM 8#define EXCEPTION_NVRAM_ADDR 0X0#define EXCEPTION_RESET 0x0100 #define EXCEPTION_CRITINT 0x0100 #define EXCEPTION_MACH_CK 0x0200 #define EXCEPTION_DA 0x0300 #define EXCEPTION_PROTECT 0x0300 #define EXCEPTION_IA 0x0400 #define EXCEPTION_INTRPT 0x0500 #define EXCEPTION_ALIGN 0x0600 #define EXCEPTION_PROGRAM 0x0700 #define EXCEPTION_FLOAT 0x0800 #define EXCEPTION_DCRMNTR 0x0900 #define EXCEPTION_IOERROR 0x0A00 #define EXCEPTION_SYSCALL 0x0C00 #define EXCEPTION_TRACE 0x0D00 #define EXCEPTION_TIMERS 0x1000 #define EXCEPTION_FIT_403 0x1010 #define EXCEPTION_WATCHDG 0x1020 #define EXCEPTION_IA_BP 0x1300 #define EXCEPTION_ITLB 0x1000 #define EXCEPTION_DLTLB 0x1100 #define EXCEPTION_DSTLB 0x1200 #define EXCEPTION_RUNMODE 0x2000 #define EXCEPTION_DEBUG 0x2000 #define EXCEPTION_SEI821 0x1000 #define EXCEPTION_ITLB821_MISS 0x1100 #define EXCEPTION_DTLB821_MISS 0x1200 #define EXCEPTION_ITLB821_ERR 0x1300 #define EXCEPTION_DTLB821_ERR 0x1400 #define EXCEPTION_DA_BP821 0x1C00 #define EXCEPTION_IA_BP821 0x1D00 struct stack_layer{ U32 stack_addr; U32 next_inst_addr;};struct reg_set{ U32 gpr[32]; U32 msr; U32 lr; U32 ctr; U32 cr; U32 xer; U32 dar; U32 dsisr; U32 fpcsr; };typedef struct exception_item{ U32 m_ulVecNum; U32 m_ulErrorNo; S8 m_cTaskName[AOS_NAME_LEN]; U8 m_uDate; U8 m_uHour; U8 m_uMinute; U8 m_uSecond; U32 m_ulMillisec; U32 m_ulPc; U32 m_ulSp; U32 m_ulIntCount; U32 m_aStack[EXCEPTION_STACK_SIZE]; struct stack_layer m_aStackLayer[EXCEPTION_STACK_LAYER]; struct reg_set m_aReg; #if( CONFIG_BOARD_GMPU == TRUE || CONFIG_BOARD_GDSP == TRUE ) U32 msg_status; U32 last_msg_ptr; U32 last_msg_size; U8 m_aLastMsg[EXCEPTION_SAVE_MSG_LEN];#endif }EXCEPTION_ITEM_S;typedef struct exception_buf{ U32 m_ulInitFlag; U32 m_ulCounter; U32 m_ulIndex; EXCEPTION_ITEM_S m_aItem[EXCEPTION_RECORD_NUM];}EXCEPTION_BUF_S;extern EXCEPTION_BUF_S *g_pException;extern S8 g_aRegName[][10];#if CONFIG_OS_WINDOWStypedef struct reg_set REG_SET;typedef struct esfppc{ U32 spCopy; U32 vecOffset; U32 _errno; U32 dar; U32 dsisr; U32 fpcsr; REG_SET regSet; U32 pad0; U32 pad1; U32 pad2;}ESFPPC;#endifU32 m_except_init();#endif#ifdef __cplusplus}#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -