added warm lib
[gpsp.git] / gp2x / sys_cacheflush.S
1 @ vim:filetype=armasm
2 #include <sys/syscall.h>
3
4
5 .global sys_cacheflush @ void *start_addr, void *end_addr
6
7 sys_cacheflush:
8     mov     r2, #0
9 #ifdef __ARM_EABI__
10     /* EABI version */
11     str     r7, [sp, #-4]!
12     mov     r7, #(__ARM_NR_cacheflush & 0xff)
13     orr     r7, r7, #(__ARM_NR_cacheflush & 0x00ff00)
14     orr     r7, r7, #(__ARM_NR_cacheflush & 0xff0000)
15     swi     0
16     ldr     r7, [sp], #4
17 #else
18     /* OABI */
19     swi     __ARM_NR_cacheflush
20 #endif
21     bx      lr
22
23 .global spend_cycles
24 spend_cycles:
25     mov r0,r0,lsr #2
26   0:subs r0, r0, #1
27     bne 0b
28     bx lr
29