Commit 658138bcbcde308472bc6980957b6b9dbd9348f3
1 parent
1190935d
flush insn support
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@743 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
3 changed files
with
13 additions
and
1 deletions
target-sparc/exec.h
@@ -13,4 +13,5 @@ register uint32_t T2 asm(AREG3); | @@ -13,4 +13,5 @@ register uint32_t T2 asm(AREG3); | ||
13 | void cpu_lock(void); | 13 | void cpu_lock(void); |
14 | void cpu_unlock(void); | 14 | void cpu_unlock(void); |
15 | void cpu_loop_exit(void); | 15 | void cpu_loop_exit(void); |
16 | +void helper_flush(target_ulong addr); | ||
16 | #endif | 17 | #endif |
target-sparc/op.c
target-sparc/translate.c
@@ -650,7 +650,8 @@ static void disas_sparc_insn(DisasContext * dc) | @@ -650,7 +650,8 @@ static void disas_sparc_insn(DisasContext * dc) | ||
650 | } | 650 | } |
651 | goto jmp_insn; | 651 | goto jmp_insn; |
652 | case 0x3b: /* flush */ | 652 | case 0x3b: /* flush */ |
653 | - /* nothing to do */ | 653 | + gen_op_add_T1_T0(); |
654 | + gen_op_flush_T0(); | ||
654 | break; | 655 | break; |
655 | case 0x3c: /* save */ | 656 | case 0x3c: /* save */ |
656 | save_state(dc); | 657 | save_state(dc); |
@@ -878,3 +879,9 @@ target_ulong cpu_get_phys_page_debug(CPUState *env, target_ulong addr) | @@ -878,3 +879,9 @@ target_ulong cpu_get_phys_page_debug(CPUState *env, target_ulong addr) | ||
878 | { | 879 | { |
879 | return addr; | 880 | return addr; |
880 | } | 881 | } |
882 | + | ||
883 | +void helper_flush(target_ulong addr) | ||
884 | +{ | ||
885 | + addr &= ~7; | ||
886 | + tb_invalidate_page_range(addr, addr + 8); | ||
887 | +} |