model.c

来自「这个是LINUX下的GDB调度工具的源码」· C语言 代码 · 共 1,660 行 · 第 1/5 页

C
1,660
字号
// OBSOLETE     int referenced = 0;// OBSOLETE     int UNUSED insn_referenced = abuf->written;// OBSOLETE     INT in_Ri = -1;// OBSOLETE     INT in_Rj = -1;// OBSOLETE     INT out_Ri = -1;// OBSOLETE     in_Ri = FLD (in_Ri);// OBSOLETE     out_Ri = FLD (out_Ri);// OBSOLETE     if (insn_referenced & (1 << 0)) referenced |= 1 << 0;// OBSOLETE     if (insn_referenced & (1 << 2)) referenced |= 1 << 2;// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);// OBSOLETE   }// OBSOLETE   return cycles;// OBSOLETE #undef FLD// OBSOLETE }// OBSOLETE // OBSOLETE static int// OBSOLETE model_fr30_1_lsl2 (SIM_CPU *current_cpu, void *sem_arg)// OBSOLETE {// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;// OBSOLETE   int cycles = 0;// OBSOLETE   {// OBSOLETE     int referenced = 0;// OBSOLETE     int UNUSED insn_referenced = abuf->written;// OBSOLETE     INT in_Ri = -1;// OBSOLETE     INT in_Rj = -1;// OBSOLETE     INT out_Ri = -1;// OBSOLETE     in_Ri = FLD (in_Ri);// OBSOLETE     out_Ri = FLD (out_Ri);// OBSOLETE     if (insn_referenced & (1 << 0)) referenced |= 1 << 0;// OBSOLETE     if (insn_referenced & (1 << 2)) referenced |= 1 << 2;// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);// OBSOLETE   }// OBSOLETE   return cycles;// OBSOLETE #undef FLD// OBSOLETE }// OBSOLETE // OBSOLETE static int// OBSOLETE model_fr30_1_lsr (SIM_CPU *current_cpu, void *sem_arg)// OBSOLETE {// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;// OBSOLETE   int cycles = 0;// OBSOLETE   {// OBSOLETE     int referenced = 0;// OBSOLETE     int UNUSED insn_referenced = abuf->written;// OBSOLETE     INT in_Ri = -1;// OBSOLETE     INT in_Rj = -1;// OBSOLETE     INT out_Ri = -1;// OBSOLETE     in_Ri = FLD (in_Ri);// OBSOLETE     in_Rj = FLD (in_Rj);// OBSOLETE     out_Ri = FLD (out_Ri);// OBSOLETE     if (insn_referenced & (1 << 0)) referenced |= 1 << 0;// OBSOLETE     referenced |= 1 << 1;// OBSOLETE     if (insn_referenced & (1 << 2)) referenced |= 1 << 2;// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);// OBSOLETE   }// OBSOLETE   return cycles;// OBSOLETE #undef FLD// OBSOLETE }// OBSOLETE // OBSOLETE static int// OBSOLETE model_fr30_1_lsri (SIM_CPU *current_cpu, void *sem_arg)// OBSOLETE {// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;// OBSOLETE   int cycles = 0;// OBSOLETE   {// OBSOLETE     int referenced = 0;// OBSOLETE     int UNUSED insn_referenced = abuf->written;// OBSOLETE     INT in_Ri = -1;// OBSOLETE     INT in_Rj = -1;// OBSOLETE     INT out_Ri = -1;// OBSOLETE     in_Ri = FLD (in_Ri);// OBSOLETE     out_Ri = FLD (out_Ri);// OBSOLETE     if (insn_referenced & (1 << 0)) referenced |= 1 << 0;// OBSOLETE     if (insn_referenced & (1 << 2)) referenced |= 1 << 2;// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);// OBSOLETE   }// OBSOLETE   return cycles;// OBSOLETE #undef FLD// OBSOLETE }// OBSOLETE // OBSOLETE static int// OBSOLETE model_fr30_1_lsr2 (SIM_CPU *current_cpu, void *sem_arg)// OBSOLETE {// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;// OBSOLETE   int cycles = 0;// OBSOLETE   {// OBSOLETE     int referenced = 0;// OBSOLETE     int UNUSED insn_referenced = abuf->written;// OBSOLETE     INT in_Ri = -1;// OBSOLETE     INT in_Rj = -1;// OBSOLETE     INT out_Ri = -1;// OBSOLETE     in_Ri = FLD (in_Ri);// OBSOLETE     out_Ri = FLD (out_Ri);// OBSOLETE     if (insn_referenced & (1 << 0)) referenced |= 1 << 0;// OBSOLETE     if (insn_referenced & (1 << 2)) referenced |= 1 << 2;// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);// OBSOLETE   }// OBSOLETE   return cycles;// OBSOLETE #undef FLD// OBSOLETE }// OBSOLETE // OBSOLETE static int// OBSOLETE model_fr30_1_asr (SIM_CPU *current_cpu, void *sem_arg)// OBSOLETE {// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;// OBSOLETE   int cycles = 0;// OBSOLETE   {// OBSOLETE     int referenced = 0;// OBSOLETE     int UNUSED insn_referenced = abuf->written;// OBSOLETE     INT in_Ri = -1;// OBSOLETE     INT in_Rj = -1;// OBSOLETE     INT out_Ri = -1;// OBSOLETE     in_Ri = FLD (in_Ri);// OBSOLETE     in_Rj = FLD (in_Rj);// OBSOLETE     out_Ri = FLD (out_Ri);// OBSOLETE     if (insn_referenced & (1 << 0)) referenced |= 1 << 0;// OBSOLETE     referenced |= 1 << 1;// OBSOLETE     if (insn_referenced & (1 << 2)) referenced |= 1 << 2;// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);// OBSOLETE   }// OBSOLETE   return cycles;// OBSOLETE #undef FLD// OBSOLETE }// OBSOLETE // OBSOLETE static int// OBSOLETE model_fr30_1_asri (SIM_CPU *current_cpu, void *sem_arg)// OBSOLETE {// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;// OBSOLETE   int cycles = 0;// OBSOLETE   {// OBSOLETE     int referenced = 0;// OBSOLETE     int UNUSED insn_referenced = abuf->written;// OBSOLETE     INT in_Ri = -1;// OBSOLETE     INT in_Rj = -1;// OBSOLETE     INT out_Ri = -1;// OBSOLETE     in_Ri = FLD (in_Ri);// OBSOLETE     out_Ri = FLD (out_Ri);// OBSOLETE     if (insn_referenced & (1 << 0)) referenced |= 1 << 0;// OBSOLETE     if (insn_referenced & (1 << 2)) referenced |= 1 << 2;// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);// OBSOLETE   }// OBSOLETE   return cycles;// OBSOLETE #undef FLD// OBSOLETE }// OBSOLETE // OBSOLETE static int// OBSOLETE model_fr30_1_asr2 (SIM_CPU *current_cpu, void *sem_arg)// OBSOLETE {// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;// OBSOLETE   int cycles = 0;// OBSOLETE   {// OBSOLETE     int referenced = 0;// OBSOLETE     int UNUSED insn_referenced = abuf->written;// OBSOLETE     INT in_Ri = -1;// OBSOLETE     INT in_Rj = -1;// OBSOLETE     INT out_Ri = -1;// OBSOLETE     in_Ri = FLD (in_Ri);// OBSOLETE     out_Ri = FLD (out_Ri);// OBSOLETE     if (insn_referenced & (1 << 0)) referenced |= 1 << 0;// OBSOLETE     if (insn_referenced & (1 << 2)) referenced |= 1 << 2;// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);// OBSOLETE   }// OBSOLETE   return cycles;// OBSOLETE #undef FLD// OBSOLETE }// OBSOLETE // OBSOLETE static int// OBSOLETE model_fr30_1_ldi8 (SIM_CPU *current_cpu, void *sem_arg)// OBSOLETE {// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldi8.f// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;// OBSOLETE   int cycles = 0;// OBSOLETE   {// OBSOLETE     int referenced = 0;// OBSOLETE     int UNUSED insn_referenced = abuf->written;// OBSOLETE     INT in_Ri = -1;// OBSOLETE     INT in_Rj = -1;// OBSOLETE     INT out_Ri = -1;// OBSOLETE     out_Ri = FLD (out_Ri);// OBSOLETE     referenced |= 1 << 2;// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);// OBSOLETE   }// OBSOLETE   return cycles;// OBSOLETE #undef FLD// OBSOLETE }// OBSOLETE // OBSOLETE static int// OBSOLETE model_fr30_1_ldi20 (SIM_CPU *current_cpu, void *sem_arg)// OBSOLETE {// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldi20.f// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;// OBSOLETE   int cycles = 0;// OBSOLETE   {// OBSOLETE     int referenced = 0;// OBSOLETE     int UNUSED insn_referenced = abuf->written;// OBSOLETE     INT in_Ri = -1;// OBSOLETE     INT in_Rj = -1;// OBSOLETE     INT out_Ri = -1;// OBSOLETE     out_Ri = FLD (out_Ri);// OBSOLETE     referenced |= 1 << 2;// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);// OBSOLETE   }// OBSOLETE   return cycles;// OBSOLETE #undef FLD// OBSOLETE }// OBSOLETE // OBSOLETE static int// OBSOLETE model_fr30_1_ldi32 (SIM_CPU *current_cpu, void *sem_arg)// OBSOLETE {// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldi32.f// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;// OBSOLETE   int cycles = 0;// OBSOLETE   {// OBSOLETE     int referenced = 0;// OBSOLETE     int UNUSED insn_referenced = abuf->written;// OBSOLETE     INT in_Ri = -1;// OBSOLETE     INT in_Rj = -1;// OBSOLETE     INT out_Ri = -1;// OBSOLETE     out_Ri = FLD (out_Ri);// OBSOLETE     referenced |= 1 << 2;// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);// OBSOLETE   }// OBSOLETE   return cycles;// OBSOLETE #undef FLD// OBSOLETE }// OBSOLETE // OBSOLETE static int// OBSOLETE model_fr30_1_ld (SIM_CPU *current_cpu, void *sem_arg)// OBSOLETE {// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;// OBSOLETE   int cycles = 0;// OBSOLETE   {// OBSOLETE     int referenced = 0;// OBSOLETE     int UNUSED insn_referenced = abuf->written;// OBSOLETE     INT in_Rj = -1;// OBSOLETE     INT out_Ri = -1;// OBSOLETE     in_Rj = FLD (in_Rj);// OBSOLETE     out_Ri = FLD (out_Ri);// OBSOLETE     referenced |= 1 << 0;// OBSOLETE     referenced |= 1 << 1;// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);// OBSOLETE   }// OBSOLETE   return cycles;// OBSOLETE #undef FLD// OBSOLETE }// OBSOLETE // OBSOLETE static int// OBSOLETE model_fr30_1_lduh (SIM_CPU *current_cpu, void *sem_arg)// OBSOLETE {// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;// OBSOLETE   int cycles = 0;// OBSOLETE   {// OBSOLETE     int referenced = 0;// OBSOLETE     int UNUSED insn_referenced = abuf->written;// OBSOLETE     INT in_Rj = -1;// OBSOLETE     INT out_Ri = -1;// OBSOLETE     in_Rj = FLD (in_Rj);// OBSOLETE     out_Ri = FLD (out_Ri);// OBSOLETE     referenced |= 1 << 0;// OBSOLETE     referenced |= 1 << 1;// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);// OBSOLETE   }// OBSOLETE   return cycles;// OBSOLETE #undef FLD// OBSOLETE }// OBSOLETE // OBSOLETE static int// OBSOLETE model_fr30_1_ldub (SIM_CPU *current_cpu, void *sem_arg)// OBSOLETE {// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;// OBSOLETE   int cycles = 0;// OBSOLETE   {// OBSOLETE     int referenced = 0;// OBSOLETE     int UNUSED insn_referenced = abuf->written;// OBSOLETE     INT in_Rj = -1;// OBSOLETE     INT out_Ri = -1;// OBSOLETE     in_Rj = FLD (in_Rj);// OBSOLETE     out_Ri = FLD (out_Ri);// OBSOLETE     referenced |= 1 << 0;// OBSOLETE     referenced |= 1 << 1;// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);// OBSOLETE   }// OBSOLETE   return cycles;// OBSOLETE #undef FLD// OBSOLETE }// OBSOLETE // OBSOLETE static int// OBSOLETE model_fr30_1_ldr13 (SIM_CPU *current_cpu, void *sem_arg)// OBSOLETE {// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;// OBSOLETE   int cycles = 0;// OBSOLETE   {// OBSOLETE     int referenced = 0;// OBSOLETE     int UNUSED insn_referenced = abuf->written;// OBSOLETE     INT in_Rj = -1;// OBSOLETE     INT out_Ri = -1;// OBSOLETE     in_Rj = FLD (in_Rj);// OBSOLETE     out_Ri = FLD (out_Ri);// OBSOLETE     referenced |= 1 << 0;// OBSOLETE     referenced |= 1 << 1;// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);// OBSOLETE   }// OBSOLETE   return cycles;// OBSOLETE #undef FLD// OBSOLETE }// OBSOLETE /

⌨️ 快捷键说明

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