diff options
author | Toad King | 2012-06-14 03:21:06 -0400 |
---|---|---|
committer | Toad King | 2012-06-14 03:21:06 -0400 |
commit | 6fb0c7a7a53e1eba7a0f5dc5b1ade312a0d76119 (patch) | |
tree | 885cf7f507139b795ba7b2a6fb829dc044da39dd /src/sys_cacheflush.S | |
download | snes9x2002-6fb0c7a7a53e1eba7a0f5dc5b1ade312a0d76119.tar.gz snes9x2002-6fb0c7a7a53e1eba7a0f5dc5b1ade312a0d76119.tar.bz2 snes9x2002-6fb0c7a7a53e1eba7a0f5dc5b1ade312a0d76119.zip |
initial pocketsnes commit
Diffstat (limited to 'src/sys_cacheflush.S')
-rw-r--r-- | src/sys_cacheflush.S | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/sys_cacheflush.S b/src/sys_cacheflush.S new file mode 100644 index 0000000..d26f81a --- /dev/null +++ b/src/sys_cacheflush.S @@ -0,0 +1,29 @@ +@ vim:filetype=armasm +#include <sys/syscall.h> + + +.global sys_cacheflush @ void *start_addr, void *end_addr + +sys_cacheflush: + mov r2, #0 +#ifdef __ARM_EABI__ + /* EABI version */ + str r7, [sp, #-4]! + mov r7, #(__ARM_NR_cacheflush & 0xff) + orr r7, r7, #(__ARM_NR_cacheflush & 0x00ff00) + orr r7, r7, #(__ARM_NR_cacheflush & 0xff0000) + swi 0 + ldr r7, [sp], #4 +#else + /* OABI */ + swi __ARM_NR_cacheflush +#endif + bx lr + +.global spend_cycles +spend_cycles: + mov r0,r0,lsr #2 + 0:subs r0, r0, #1 + bne 0b + bx lr + |