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 ********************************************************/
|