⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 armdefs.h

📁 这个是LINUX下的GDB调度工具的源码
💻 H
📖 第 1 页 / 共 2 页
字号:
#define SVC32MODE   19L#define ABORT32MODE 23L#define UNDEF32MODE 27L#define SYSTEMMODE  31L#define ARM32BITMODE (state->Mode > 3)#define ARM26BITMODE (state->Mode <= 3)#define ARMMODE (state->Mode)#define ARMul_MODEBITS 0x1fL#define ARMul_MODE32BIT ARM32BITMODE#define ARMul_MODE26BIT ARM26BITMODE#define USERBANK 0#define FIQBANK 1#define IRQBANK 2#define SVCBANK 3#define ABORTBANK 4#define UNDEFBANK 5#define DUMMYBANK 6#define SYSTEMBANK USERBANK#define BANK_CAN_ACCESS_SPSR(bank)  \  ((bank) != USERBANK && (bank) != SYSTEMBANK && (bank) != DUMMYBANK)/***************************************************************************\*                  Definitons of things in the emulator                     *\***************************************************************************/extern void ARMul_EmulateInit (void);extern ARMul_State *ARMul_NewState (void);extern void ARMul_Reset (ARMul_State * state);extern ARMword ARMul_DoProg (ARMul_State * state);extern ARMword ARMul_DoInstr (ARMul_State * state);/***************************************************************************\*                Definitons of things for event handling                    *\***************************************************************************/extern void ARMul_ScheduleEvent (ARMul_State * state, unsigned long delay,				 unsigned (*func) ());extern void ARMul_EnvokeEvent (ARMul_State * state);extern unsigned long ARMul_Time (ARMul_State * state);/***************************************************************************\*                          Useful support routines                          *\***************************************************************************/extern ARMword ARMul_GetReg (ARMul_State * state, unsigned mode,			     unsigned reg);extern void ARMul_SetReg (ARMul_State * state, unsigned mode, unsigned reg,			  ARMword value);extern ARMword ARMul_GetPC (ARMul_State * state);extern ARMword ARMul_GetNextPC (ARMul_State * state);extern void ARMul_SetPC (ARMul_State * state, ARMword value);extern ARMword ARMul_GetR15 (ARMul_State * state);extern void ARMul_SetR15 (ARMul_State * state, ARMword value);extern ARMword ARMul_GetCPSR (ARMul_State * state);extern void ARMul_SetCPSR (ARMul_State * state, ARMword value);extern ARMword ARMul_GetSPSR (ARMul_State * state, ARMword mode);extern void ARMul_SetSPSR (ARMul_State * state, ARMword mode, ARMword value);/***************************************************************************\*                  Definitons of things to handle aborts                    *\***************************************************************************/extern void ARMul_Abort (ARMul_State * state, ARMword address);#define ARMul_ABORTWORD 0xefffffff	/* SWI -1 */#define ARMul_PREFETCHABORT(address) if (state->AbortAddr == 1) \                                        state->AbortAddr = (address & ~3L)#define ARMul_DATAABORT(address) state->abortSig = HIGH ; \                                 state->Aborted = ARMul_DataAbortV ;#define ARMul_CLEARABORT state->abortSig = LOW/***************************************************************************\*              Definitons of things in the memory interface                 *\***************************************************************************/extern unsigned ARMul_MemoryInit (ARMul_State * state,				  unsigned long initmemsize);extern void ARMul_MemoryExit (ARMul_State * state);extern ARMword ARMul_LoadInstrS (ARMul_State * state, ARMword address,				 ARMword isize);extern ARMword ARMul_LoadInstrN (ARMul_State * state, ARMword address,				 ARMword isize);extern ARMword ARMul_ReLoadInstr (ARMul_State * state, ARMword address,				  ARMword isize);extern ARMword ARMul_LoadWordS (ARMul_State * state, ARMword address);extern ARMword ARMul_LoadWordN (ARMul_State * state, ARMword address);extern ARMword ARMul_LoadHalfWord (ARMul_State * state, ARMword address);extern ARMword ARMul_LoadByte (ARMul_State * state, ARMword address);extern void ARMul_StoreWordS (ARMul_State * state, ARMword address,			      ARMword data);extern void ARMul_StoreWordN (ARMul_State * state, ARMword address,			      ARMword data);extern void ARMul_StoreHalfWord (ARMul_State * state, ARMword address,				 ARMword data);extern void ARMul_StoreByte (ARMul_State * state, ARMword address,			     ARMword data);extern ARMword ARMul_SwapWord (ARMul_State * state, ARMword address,			       ARMword data);extern ARMword ARMul_SwapByte (ARMul_State * state, ARMword address,			       ARMword data);extern void ARMul_Icycles (ARMul_State * state, unsigned number,			   ARMword address);extern void ARMul_Ccycles (ARMul_State * state, unsigned number,			   ARMword address);extern ARMword ARMul_ReadWord (ARMul_State * state, ARMword address);extern ARMword ARMul_ReadByte (ARMul_State * state, ARMword address);extern ARMword ARMul_SafeReadByte (ARMul_State * state, ARMword address);extern void ARMul_WriteWord (ARMul_State * state, ARMword address,			     ARMword data);extern void ARMul_WriteByte (ARMul_State * state, ARMword address,			     ARMword data);extern void ARMul_SafeWriteByte (ARMul_State * state, ARMword address,			     ARMword data);extern ARMword ARMul_MemAccess (ARMul_State * state, ARMword, ARMword,				ARMword, ARMword, ARMword, ARMword, ARMword,				ARMword, ARMword, ARMword);/***************************************************************************\*            Definitons of things in the co-processor interface             *\***************************************************************************/#define ARMul_FIRST 0#define ARMul_TRANSFER 1#define ARMul_BUSY 2#define ARMul_DATA 3#define ARMul_INTERRUPT 4#define ARMul_DONE 0#define ARMul_CANT 1#define ARMul_INC 3#define ARMul_CP13_R0_FIQ	0x1#define ARMul_CP13_R0_IRQ	0x2#define ARMul_CP13_R8_PMUS	0x1#define ARMul_CP14_R0_ENABLE	0x0001#define ARMul_CP14_R0_CLKRST	0x0004#define ARMul_CP14_R0_CCD	0x0008#define ARMul_CP14_R0_INTEN0	0x0010#define ARMul_CP14_R0_INTEN1	0x0020#define ARMul_CP14_R0_INTEN2	0x0040#define ARMul_CP14_R0_FLAG0	0x0100#define ARMul_CP14_R0_FLAG1	0x0200#define ARMul_CP14_R0_FLAG2	0x0400#define ARMul_CP14_R10_MOE_IB	0x0004#define ARMul_CP14_R10_MOE_DB	0x0008#define ARMul_CP14_R10_MOE_BT	0x000c#define ARMul_CP15_R1_ENDIAN	0x0080#define ARMul_CP15_R1_ALIGN	0x0002#define ARMul_CP15_R5_X		0x0400#define ARMul_CP15_R5_ST_ALIGN	0x0001#define ARMul_CP15_R5_IMPRE	0x0406#define ARMul_CP15_R5_MMU_EXCPT	0x0400#define ARMul_CP15_DBCON_M	0x0100#define ARMul_CP15_DBCON_E1	0x000c#define ARMul_CP15_DBCON_E0	0x0003extern unsigned ARMul_CoProInit (ARMul_State * state);extern void ARMul_CoProExit (ARMul_State * state);extern void ARMul_CoProAttach (ARMul_State * state, unsigned number,			       ARMul_CPInits * init, ARMul_CPExits * exit,			       ARMul_LDCs * ldc, ARMul_STCs * stc,			       ARMul_MRCs * mrc, ARMul_MCRs * mcr,			       ARMul_CDPs * cdp,			       ARMul_CPReads * read, ARMul_CPWrites * write);extern void ARMul_CoProDetach (ARMul_State * state, unsigned number);extern void XScale_check_memacc (ARMul_State * state, ARMword * address,				 int store);extern void XScale_set_fsr_far (ARMul_State * state, ARMword fsr, ARMword far);extern int XScale_debug_moe (ARMul_State * state, int moe);/***************************************************************************\*               Definitons of things in the host environment                *\***************************************************************************/extern unsigned ARMul_OSInit (ARMul_State * state);extern void ARMul_OSExit (ARMul_State * state);extern unsigned ARMul_OSHandleSWI (ARMul_State * state, ARMword number);extern ARMword ARMul_OSLastErrorP (ARMul_State * state);extern ARMword ARMul_Debug (ARMul_State * state, ARMword pc, ARMword instr);extern unsigned ARMul_OSException (ARMul_State * state, ARMword vector,				   ARMword pc);extern int rdi_log;/***************************************************************************\*                            Host-dependent stuff                           *\***************************************************************************/#ifdef macintoshpascal void SpinCursor (short increment);	/* copied from CursorCtl.h */# define HOURGLASS           SpinCursor( 1 )# define HOURGLASS_RATE      1023	/* 2^n - 1 */#endifextern void ARMul_UndefInstr      (ARMul_State *, ARMword);extern void ARMul_FixCPSR         (ARMul_State *, ARMword, ARMword);extern void ARMul_FixSPSR         (ARMul_State *, ARMword, ARMword);extern void ARMul_ConsolePrint    (ARMul_State *, const char *, ...);extern void ARMul_SelectProcessor (ARMul_State *, unsigned);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -