diff options
author | Marcin Juszkiewicz <hrw@openembedded.org> | 2008-01-17 15:39:09 +0000 |
---|---|---|
committer | Marcin Juszkiewicz <hrw@openembedded.org> | 2008-01-17 15:39:09 +0000 |
commit | 9d1b8ff9cc28b6c4e0208b2cd0dc946b59b2b50f (patch) | |
tree | 92e90885c812dc5abcd04471f691db851f296047 /packages/cacao/files/cacao-0.98+hg-arm-cacheflush-workaround.patch | |
parent | e07765d6ea242d863c3f4f81bdc6379ae61347c5 (diff) | |
parent | b7031362eafd33ad5c421b07f2bc4f37e4f8a829 (diff) |
merge of '964b970138436b573add519a1eae7ca7aec32517'
and 'b8eab3d0461de7af79a745d6b20c8e008acb7af4'
Diffstat (limited to 'packages/cacao/files/cacao-0.98+hg-arm-cacheflush-workaround.patch')
-rw-r--r-- | packages/cacao/files/cacao-0.98+hg-arm-cacheflush-workaround.patch | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/packages/cacao/files/cacao-0.98+hg-arm-cacheflush-workaround.patch b/packages/cacao/files/cacao-0.98+hg-arm-cacheflush-workaround.patch new file mode 100644 index 0000000000..813cb683f6 --- /dev/null +++ b/packages/cacao/files/cacao-0.98+hg-arm-cacheflush-workaround.patch @@ -0,0 +1,50 @@ +Index: cacao-0.98+hg7750/src/vm/jit/arm/asmpart.S +=================================================================== +--- cacao-0.98+hg7750.orig/src/vm/jit/arm/asmpart.S 2007-11-28 10:14:51.000000000 +0100 ++++ cacao-0.98+hg7750/src/vm/jit/arm/asmpart.S 2007-11-28 10:15:31.000000000 +0100 +@@ -302,35 +302,21 @@ + * * + *******************************************************************************/ + +-.equ sys_cacheflush,__ARM_NR_cacheflush /* syscall number for cache flushing */ +- ++.equ sys_cacheflush, 0x9f0002 + asm_cacheflush: +- add a1, a0, a1 +- mov a2, #0 +- +-#if defined(__ARM_EABI__) +- /* According to EABI, the syscall number should be passed via R7, +- see "http://wiki.debian.org/ArmEabiPort" for additional details. */ +- +- stmfd sp!, {r7} +- mov r7, #0x0f0000 +- add r7, r7, #0x000002 +-#endif ++ add a1, a0, a1 ++ mov a2, #0 + + #if 0 +- /* TWISTI: required on iyonix, maybe a linux-2.4 bug */ +- mov a0, #0x0 +- mov a1, #0xff000000 ++ /* TWISTI: required on iyonix, maybe a linux-2.4 bug */ ++ /* TODO: repeair this! */ ++ /* cacheflush is messed up beyond all repair! */ ++ mov a0, #0x0 ++ mov a1, #0xff000000 + #endif + +- swi sys_cacheflush +- +-#if defined(__ARM_EABI__) +- ldmfd sp!, {r7} +-#endif +- +- mov pc, lr +- ++ swi #sys_cacheflush ++ mov pc, lr + + /* disable exec-stacks ********************************************************/ + |