Search
lxdream.org :: lxdream :: r944:a4e31314bee1
lxdream 0.9.1
released Jun 29
Download Now
changeset944:a4e31314bee1 lxdream-mem
parent943:9a277733eafa
child945:787729653236
authornkeynes
dateMon Jan 05 04:17:20 2009 +0000 (15 years ago)
branchlxdream-mem
Actually use sh4_user_address_space for user code
src/sh4/ia32abi.h
src/sh4/ia64abi.h
1.1 --- a/src/sh4/ia32abi.h Mon Jan 05 04:16:28 2009 +0000
1.2 +++ b/src/sh4/ia32abi.h Mon Jan 05 04:17:20 2009 +0000
1.3 @@ -26,9 +26,10 @@
1.4
1.5 static inline decode_address( int addr_reg )
1.6 {
1.7 + uintptr_t base = (sh4r.xlat_sh4_mode&SR_MD) ? (uintptr_t)sh4_address_space : (uintptr_t)sh4_user_address_space;
1.8 MOV_r32_r32( addr_reg, R_ECX );
1.9 SHR_imm8_r32( 12, R_ECX );
1.10 - MOV_r32disp32x4_r32( R_ECX, (uintptr_t)sh4_address_space, R_ECX );
1.11 + MOV_r32disp32x4_r32( R_ECX, base, R_ECX );
1.12 }
1.13
1.14 /**
2.1 --- a/src/sh4/ia64abi.h Mon Jan 05 04:16:28 2009 +0000
2.2 +++ b/src/sh4/ia64abi.h Mon Jan 05 04:17:20 2009 +0000
2.3 @@ -26,9 +26,10 @@
2.4
2.5 static inline decode_address( int addr_reg )
2.6 {
2.7 + uintptr_t base = (sh4r.xlat_sh4_mode&SR_MD) ? (uintptr_t)sh4_address_space : (uintptr_t)sh4_user_address_space;
2.8 MOV_r32_r32( addr_reg, R_ECX );
2.9 SHR_imm8_r32( 12, R_ECX );
2.10 - load_ptr( R_EDI, sh4_address_space );
2.11 + load_ptr( R_EDI, base );
2.12 REXW(); OP(0x8B); OP(0x0C); OP(0xCF); // mov.q [%rdi + %rcx*8], %rcx
2.13 }
2.14
.