OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [tags/] [rel-0-3-0-rc1/] [or1ksim/] [cpu/] [or32/] [op.c] - Diff between revs 1721 and 1728

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 1721 Rev 1728
Line 189... Line 189...
{
{
  env->pc_delay = 0;
  env->pc_delay = 0;
  env->delay_insn = 1;
  env->delay_insn = 1;
}
}
 
 
__or_dynop void op_do_jump(void)
 
{
 
  RET_FROM_DYN_CODE;
 
}
 
 
 
__or_dynop void op_do_jump_delay(void)
__or_dynop void op_do_jump_delay(void)
{
{
  env->pc = env->pc_delay;
  env->pc = env->pc_delay;
  RET_FROM_DYN_CODE;
 
}
}
 
 
__or_dynop void op_clear_delay_insn(void)
__or_dynop void op_clear_delay_insn(void)
{
{
  env->delay_insn = 0;
  env->delay_insn = 0;
Line 284... Line 278...
 
 
__or_dynop void op_nop_reset(void)
__or_dynop void op_nop_reset(void)
{
{
  op_support_nop_reset();
  op_support_nop_reset();
  env->pc = EXCEPT_RESET;
  env->pc = EXCEPT_RESET;
  RET_FROM_DYN_CODE;
  FORCE_RET;
}
}
 
 
__or_dynop void op_nop_printf(void)
__or_dynop void op_nop_printf(void)
{
{
  op_support_nop_printf();
  op_support_nop_printf();
Line 945... Line 939...
__or_dynop void op_illegal_delay(void)
__or_dynop void op_illegal_delay(void)
{
{
  env->delay_insn = 0;
  env->delay_insn = 0;
  env->sprs[SPR_EEAR_BASE] = env->pc - 4;
  env->sprs[SPR_EEAR_BASE] = env->pc - 4;
  env->pc = EXCEPT_ILLEGAL - 4;
  env->pc = EXCEPT_ILLEGAL - 4;
  RET_FROM_DYN_CODE;
 
}
}
 
 
__or_dynop void op_illegal(void)
__or_dynop void op_illegal(void)
{
{
  env->sprs[SPR_EEAR_BASE] = env->pc;
  env->sprs[SPR_EEAR_BASE] = env->pc;
  env->pc = EXCEPT_ILLEGAL;
  env->pc = EXCEPT_ILLEGAL;
  RET_FROM_DYN_CODE;
 
}
}
 
 
__or_dynop void op_do_sched(void)
__or_dynop void op_do_sched(void)
{
{
  SPEEDY_CALL(do_sched_wrap);
  SPEEDY_CALL(do_sched_wrap);

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.