summaryrefslogtreecommitdiff
path: root/packages/cacao/files/cacao-0.98+hg-arm-cacheflush-workaround.patch
blob: 813cb683f670322ec8cd9e0efd2c30f3e472294d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
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 ********************************************************/