model.c

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

C
1,660
字号
// 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     referenced |= 1 << 0;// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);// OBSOLETE   }// OBSOLETE   {// OBSOLETE     int referenced = 0;// OBSOLETE     int UNUSED insn_referenced = abuf->written;// OBSOLETE     INT in_Rj = -1;// OBSOLETE     INT out_Ri = -1;// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri);// OBSOLETE   }// OBSOLETE   {// OBSOLETE     int referenced = 0;// OBSOLETE     int UNUSED insn_referenced = abuf->written;// OBSOLETE     INT in_Ri = -1;// OBSOLETE     INT in_Rj = -1;// OBSOLETE     in_Ri = FLD (in_Ri);// OBSOLETE     referenced |= 1 << 0;// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj);// OBSOLETE   }// OBSOLETE   return cycles;// OBSOLETE #undef FLD// OBSOLETE }// OBSOLETE // OBSOLETE static int// OBSOLETE model_fr30_1_btstl (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_Rj = -1;// OBSOLETE     INT out_Ri = -1;// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);// OBSOLETE   }// 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     referenced |= 1 << 0;// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 1, referenced, in_Ri, in_Rj, out_Ri);// OBSOLETE   }// OBSOLETE   return cycles;// OBSOLETE #undef FLD// OBSOLETE }// OBSOLETE // OBSOLETE static int// OBSOLETE model_fr30_1_btsth (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_Rj = -1;// OBSOLETE     INT out_Ri = -1;// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);// OBSOLETE   }// 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     referenced |= 1 << 0;// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 1, referenced, in_Ri, in_Rj, out_Ri);// OBSOLETE   }// OBSOLETE   return cycles;// OBSOLETE #undef FLD// OBSOLETE }// OBSOLETE // OBSOLETE static int// OBSOLETE model_fr30_1_mul (SIM_CPU *current_cpu, void *sem_arg)// OBSOLETE {// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.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     referenced |= 1 << 0;// OBSOLETE     referenced |= 1 << 1;// 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_mulu (SIM_CPU *current_cpu, void *sem_arg)// OBSOLETE {// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.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     referenced |= 1 << 0;// OBSOLETE     referenced |= 1 << 1;// 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_mulh (SIM_CPU *current_cpu, void *sem_arg)// OBSOLETE {// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.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     referenced |= 1 << 0;// OBSOLETE     referenced |= 1 << 1;// 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_muluh (SIM_CPU *current_cpu, void *sem_arg)// OBSOLETE {// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.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     referenced |= 1 << 0;// OBSOLETE     referenced |= 1 << 1;// 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_div0s (SIM_CPU *current_cpu, void *sem_arg)// OBSOLETE {// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.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     referenced |= 1 << 0;// 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_div0u (SIM_CPU *current_cpu, void *sem_arg)// OBSOLETE {// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.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     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_div1 (SIM_CPU *current_cpu, void *sem_arg)// OBSOLETE {// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.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     if (insn_referenced & (1 << 0)) referenced |= 1 << 0;// 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_div2 (SIM_CPU *current_cpu, void *sem_arg)// OBSOLETE {// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.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     if (insn_referenced & (1 << 0)) referenced |= 1 << 0;// 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_div3 (SIM_CPU *current_cpu, void *sem_arg)// OBSOLETE {// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.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     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_div4s (SIM_CPU *current_cpu, void *sem_arg)// OBSOLETE {// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.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     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_lsl (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_lsli (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   {

⌨️ 快捷键说明

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