From: notaz Date: Tue, 6 Sep 2011 15:22:09 +0000 (+0300) Subject: mask off arguments for write hadlers X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=gpsp.git;a=commitdiff_plain;h=1e02ad6bbd8938b39e1761f20a8ab7392e3ee7b7 mask off arguments for write hadlers newer gcc wants this --- diff --git a/arm/arm_stub.S b/arm/arm_stub.S index cc38dd2..6a9fb6d 100644 --- a/arm/arm_stub.S +++ b/arm/arm_stub.S @@ -104,6 +104,15 @@ #define MODE_SUPERVISOR 3 +#ifdef __ARM_ARCH_7A__ + #define extract_u16(rd, rs) \ + uxth rd, rs +#else + #define extract_u16(rd, rs) \ + bic rd, rs, #0xff000000 ;\ + bic rd, rd, #0x00ff0000 +#endif + @ Will load the register set from memory into the appropriate cached registers. @ See arm_emit.h for listing explanation. @@ -535,9 +544,11 @@ execute_arm_translate: #define store_align_8() ;\ + and r1, r1, #0xff ;\ #define store_align_16() ;\ bic r0, r0, #0x01 ;\ + extract_u16(r1, r1) ;\ #define store_align_32() ;\ bic r0, r0, #0x03 ;\