handle writeback in interpreter
[ginge.git] / loader / sys_cacheflush.S
CommitLineData
11913091 1@ vim:filetype=armasm
2#include <sys/syscall.h>
3
4
5.global sys_cacheflush @ const void *start_addr, const void *end_addr
6
7sys_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#if (__ARM_NR_cacheflush & 0x00ff00)
14 orr r7, r7, #(__ARM_NR_cacheflush & 0x00ff00)
15#endif
16#if (__ARM_NR_cacheflush & 0xff0000)
17 orr r7, r7, #(__ARM_NR_cacheflush & 0xff0000)
18#endif
19 swi 0
20 ldr r7, [sp], #4
21#else
22 /* OABI */
23 swi __ARM_NR_cacheflush
24#endif
25 bx lr
26