revision 957:0f6131f6cc3a
summary |
tree |
shortlog |
changelog |
graph |
changeset |
raw | bz2 | zip | gz changeset | 957:0f6131f6cc3a |
parent | 956:4c1ed9e03985 |
child | 958:62365adaf48f |
author | nkeynes |
date | Wed Jan 14 00:16:44 2009 +0000 (15 years ago) |
Add missed commit of ia64abi.h from previous change.
src/sh4/ia64abi.h | view | annotate | diff | log |
1.1 --- a/src/sh4/ia64abi.h Wed Jan 14 00:09:44 2009 +00001.2 +++ b/src/sh4/ia64abi.h Wed Jan 14 00:16:44 2009 +00001.3 @@ -195,6 +195,29 @@1.4 }1.6 /**1.7 + * Exit unconditionally with a general exception1.8 + */1.9 +void exit_block_exc( int code, sh4addr_t pc )1.10 +{1.11 + load_imm32( R_ECX, pc - sh4_x86.block_start_pc ); // 51.12 + ADD_r32_sh4r( R_ECX, R_PC );1.13 + load_imm32( R_ECX, ((pc - sh4_x86.block_start_pc)>>1)*sh4_cpu_period ); // 51.14 + ADD_r32_sh4r( R_ECX, REG_OFFSET(slice_cycle) ); // 61.15 + load_imm32( R_EAX, code );1.16 + call_func1( sh4_raise_exception, R_EAX );1.17 +1.18 + load_spreg( R_EAX, R_PC );1.19 + if( sh4_x86.tlb_on ) {1.20 + call_func1(xlat_get_code_by_vma,R_EAX);1.21 + } else {1.22 + call_func1(xlat_get_code,R_EAX);1.23 + }1.24 +1.25 + exit_block();1.26 +}1.27 +1.28 +1.29 +/**1.30 * Write the block trailer (exception handling block)1.31 */1.32 void sh4_translate_end_block( sh4addr_t pc ) {
.