filename | src/sh4/sh4trans.h |
changeset | 669:ab344e42bca9 |
prev | 617:476a717a54f3 |
next | 675:b97020f9af1c |
author | nkeynes |
date | Mon May 12 10:00:13 2008 +0000 (14 years ago) |
permissions | -rw-r--r-- |
last change | Cleanup most of the -Wall warnings (getting a bit sloppy...) Convert FP code to use fixed banks rather than indirect pointer (3-4% faster this way now) |
file | annotate | diff | log | raw |
1.1 --- a/src/sh4/sh4trans.h Tue Jan 29 10:39:56 2008 +00001.2 +++ b/src/sh4/sh4trans.h Mon May 12 10:00:13 2008 +00001.3 @@ -71,11 +71,22 @@1.4 gboolean sh4_xlat_is_running();1.6 /**1.7 + * Initialize the translation engine (if required). Note xlat cache1.8 + * must already be initialized.1.9 + */1.10 +void sh4_xlat_init();1.11 +1.12 +/**1.13 * Translate the specified block of code starting from the specified start1.14 * address until the first branch/jump instruction.1.15 */1.16 void *sh4_translate_basic_block( sh4addr_t start );1.18 +/**1.19 + * Add a recovery record for the current code generation position, with the1.20 + * specified instruction count1.21 + */1.22 +void sh4_translate_add_recovery( uint32_t icount );1.24 extern uint8_t *xlat_output;1.25 extern struct xlat_recovery_record xlat_recovery[MAX_RECOVERY_SIZE];1.26 @@ -90,10 +101,12 @@1.27 #define TARGET_X86 11.28 #define TARGET_X86_64 21.30 +void sh4_translate_init( void );1.31 void sh4_translate_begin_block( sh4addr_t pc );1.32 uint32_t sh4_translate_instruction( sh4addr_t pc );1.33 void sh4_translate_end_block( sh4addr_t pc );1.34 uint32_t sh4_translate_end_block_size();1.35 +void sh4_translate_emit_breakpoint( sh4vma_t pc );1.37 typedef void (*unwind_thunk_t)(void);1.39 @@ -121,6 +134,13 @@1.40 void sh4_translate_exit( int exit_code );1.42 /**1.43 + * From within the translator, exit the current block at the end of the1.44 + * current instruction, flush the translation cache (completely) and return1.45 + * control to sh4_xlat_run_slice.1.46 + */1.47 +void sh4_translate_flush_cache( void );1.48 +1.49 +/**1.50 * Support function called from the translator when a breakpoint is hit.1.51 * Either returns immediately (to skip the breakpoint), or aborts the current1.52 * cycle and never returns.
.