]> git.proxmox.com Git - qemu.git/blobdiff - target-cris/op_helper.c
CRIS: Improve ASID related TLB flushes.
[qemu.git] / target-cris / op_helper.c
index fcf80705e9c29aac5ad82c305436443bf2159128..d9ddc3ad55fcb2b38cc82244e485fb3eb6397a11 100644 (file)
@@ -91,7 +91,9 @@ void helper_raise_exception(uint32_t index)
 void helper_tlb_flush_pid(uint32_t pid)
 {
 #if !defined(CONFIG_USER_ONLY)
-       cris_mmu_flush_pid(env, pid);
+       pid &= 0xff;
+       if (pid != (env->pregs[PR_PID] & 0xff))
+               cris_mmu_flush_pid(env, env->pregs[PR_PID]);
 #endif
 }
 
@@ -100,11 +102,6 @@ void helper_dump(uint32_t a0, uint32_t a1, uint32_t a2)
        (fprintf(logfile, "%s: a0=%x a1=%x\n", __func__, a0, a1)); 
 }
 
-void helper_dummy(void)
-{
-
-}
-
 /* Used by the tlb decoder.  */
 #define EXTRACT_FIELD(src, start, end) \
            (((src) >> start) & ((1 << (end - start + 1)) - 1))
@@ -239,15 +236,6 @@ void helper_rfn(void)
     env->pregs[PR_CCS] |= M_FLAG;
 }
 
-void helper_store(uint32_t a0)
-{
-       if (env->pregs[PR_CCS] & P_FLAG )
-       {
-               cpu_abort(env, "cond_store_failed! pc=%x a0=%x\n",
-                         env->pc, a0);
-       }
-}
-
 void do_unassigned_access(target_phys_addr_t addr, int is_write, int is_exec,
                           int is_asi)
 {