--- a/src/sh4/sh4trans.h Sun Jul 05 13:52:50 2009 +1000 +++ b/src/sh4/sh4trans.h Tue Dec 15 08:46:37 2009 +1000 @@ -43,18 +43,13 @@ /** */ -uint32_t sh4_xlat_run_slice( uint32_t nanosecs ); - -/** - * Return true if translated code is currently running - */ -gboolean sh4_xlat_is_running(); +uint32_t sh4_translate_run_slice( uint32_t nanosecs ); /** * Initialize the translation engine (if required). Note xlat cache * must already be initialized. */ -void sh4_xlat_init(); +void sh4_translate_init( void); /** * Translate the specified block of code starting from the specified start @@ -80,19 +75,19 @@ #define TARGET_X86 1 -void sh4_translate_init( void ); void sh4_translate_begin_block( sh4addr_t pc ); uint32_t sh4_translate_instruction( sh4addr_t pc ); void sh4_translate_end_block( sh4addr_t pc ); uint32_t sh4_translate_end_block_size(); void sh4_translate_emit_breakpoint( sh4vma_t pc ); +void sh4_translate_crashdump(); typedef void (*unwind_thunk_t)(void); /** * From within the translator, (typically called from MMU exception handling routines) * immediately exit the current translation block (performing cleanup as necessary) and - * return to sh4_xlat_run_slice(). Effectively a fast longjmp w/ xlat recovery. + * return to sh4_translate_run_slice(). Effectively a fast longjmp w/ xlat recovery. * * Note: The correct working of this method depends on the translator anticipating the * exception and generating the appropriate recovery block(s) - currently this means @@ -132,6 +127,12 @@ */ void FASTCALL sh4_translate_breakpoint_hit( sh4vma_t pc ); +/** + * Disassemble the given translated code block, and it's source SH4 code block + * side-by-side. The current native pc will be marked if non-null. + */ +void sh4_translate_disasm_block( FILE *out, void *code, sh4addr_t source_start, void *native_pc ); + #ifdef __cplusplus } #endif