#include "skyeye2gdb.h" enum gdb_regnum { BFIN_SYSCFG_REGNUM = 0, //BFIN_ORIGR0_REGNUM, BFIN_R0_REGNUM, BFIN_R1_REGNUM, BFIN_R2_REGNUM, BFIN_R3_REGNUM, BFIN_R4_REGNUM, BFIN_R5_REGNUM, BFIN_R6_REGNUM, BFIN_R7_REGNUM, BFIN_P0_REGNUM, BFIN_P1_REGNUM, BFIN_P2_REGNUM, BFIN_P3_REGNUM, BFIN_P4_REGNUM, BFIN_P5_REGNUM, BFIN_FP_REGNUM, BFIN_SP_REGNUM, BFIN_I0_REGNUM, BFIN_I1_REGNUM, BFIN_I2_REGNUM, BFIN_I3_REGNUM, BFIN_M0_REGNUM, BFIN_M1_REGNUM, BFIN_M2_REGNUM, BFIN_M3_REGNUM, BFIN_L0_REGNUM, BFIN_L1_REGNUM, BFIN_L2_REGNUM, BFIN_L3_REGNUM, BFIN_B0_REGNUM, BFIN_B1_REGNUM, /* START MODIFIER REGISTER */ BFIN_B2_REGNUM, /* END MODIFIER REGISTER */ BFIN_B3_REGNUM, BFIN_A0_DOT_X_REGNUM, BFIN_AO_DOT_W_REGNUM, BFIN_A1_DOT_X_REGNUM, BFIN_A1_DOT_W_REGNUM, BFIN_LC0_REGNUM, BFIN_LC1_REGNUM, BFIN_LT0_REGNUM, BFIN_LT1_REGNUM, BFIN_LB0_REGNUM, BFIN_LB1_REGNUM, BFIN_ASTAT_REGNUM, BFIN_RESERVED_REGNUM, BFIN_RETS_REGNUM, /* Subroutine address register */ BFIN_PC_REGNUM, /*actually RETI pc will be in ORIG_PC */ BFIN_RETX_REGNUM, BFIN_RETN_REGNUM, BFIN_RETE_REGNUM, BFIN_SEQSTAT_REGNUM, BFIN_IPEND_REGNUM, /* Subroutine address register */ BFIN_ORIGPC_REGNUM, /* Subroutine address register */ BFIN_EXTRA1, /* Extra "registers" for hacks 1. address of .text */ BFIN_EXTRA2, BFIN_EXTRA3, // LAST ENTRY SHOULD NOT BE CHANGED BFIN_NUM_REGS /* 0 index, so this entry is size */ }; # static int bfin_register_raw_size(int x){ return 4; } static int bfin_register_byte(int x){ return (4 * x); } static int bfin_store_register(int x){ return 0; } static int bfin_fetch_register(int x){ return 0; } static register_defs_t bfin_reg_defs; /* * register blackfin register type to the array */ void init_bfin_register_defs(void){ /* initialize the struct of blackfin register defination */ bfin_reg_defs.register_raw_size = bfin_register_raw_size; bfin_reg_defs.register_bytes = BFIN_NUM_REGS * 4; bfin_reg_defs.register_byte = bfin_register_byte; bfin_reg_defs.num_regs = BFIN_NUM_REGS; bfin_reg_defs.max_register_raw_size = 4; bfin_reg_defs.store_register = bfin_store_register; bfin_reg_defs.fetch_register = bfin_fetch_register; register_reg_type(bfin_reg_defs); }