61dac35617aeb3a318bea9587e5bd1c62e25ba4f
[warm.git] / 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