mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-11-05 20:35:44 +00:00
CRIS: Support RFN insn.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4718 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
a7cfbba0cf
commit
5bf8f1aba1
2 changed files with 20 additions and 0 deletions
|
@ -5,6 +5,7 @@ void TCG_HELPER_PROTO helper_tlb_flush_pid(uint32_t pid);
|
|||
void TCG_HELPER_PROTO helper_dump(uint32_t a0, uint32_t a1, uint32_t a2);
|
||||
void TCG_HELPER_PROTO helper_dummy(void);
|
||||
void TCG_HELPER_PROTO helper_rfe(void);
|
||||
void TCG_HELPER_PROTO helper_rfn(void);
|
||||
void TCG_HELPER_PROTO helper_store(uint32_t a0);
|
||||
|
||||
void TCG_HELPER_PROTO helper_movl_sreg_reg (uint32_t sreg, uint32_t reg);
|
||||
|
|
|
@ -220,6 +220,25 @@ void helper_rfe(void)
|
|||
env->pregs[PR_CCS] |= P_FLAG;
|
||||
}
|
||||
|
||||
void helper_rfn(void)
|
||||
{
|
||||
int rflag = env->pregs[PR_CCS] & R_FLAG;
|
||||
|
||||
D(fprintf(logfile, "rfn: erp=%x pid=%x ccs=%x btarget=%x\n",
|
||||
env->pregs[PR_ERP], env->pregs[PR_PID],
|
||||
env->pregs[PR_CCS],
|
||||
env->btarget));
|
||||
|
||||
cris_ccs_rshift(env);
|
||||
|
||||
/* Set the P_FLAG only if the R_FLAG is not set. */
|
||||
if (!rflag)
|
||||
env->pregs[PR_CCS] |= P_FLAG;
|
||||
|
||||
/* Always set the M flag. */
|
||||
env->pregs[PR_CCS] |= M_FLAG;
|
||||
}
|
||||
|
||||
void helper_store(uint32_t a0)
|
||||
{
|
||||
if (env->pregs[PR_CCS] & P_FLAG )
|
||||
|
|
Loading…
Reference in a new issue