X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=gp2x%2Fsys_cacheflush.S;fp=gp2x%2Fsys_cacheflush.S;h=d26f81ab46f86d7a49425fa38038b44a8a13484f;hb=5cc8854bc94b22e52d747e67cc9b7ca310711181;hp=0000000000000000000000000000000000000000;hpb=8ff85457e314c627df92d4be65f3e75f540110e8;p=gpsp.git diff --git a/gp2x/sys_cacheflush.S b/gp2x/sys_cacheflush.S new file mode 100644 index 0000000..d26f81a --- /dev/null +++ b/gp2x/sys_cacheflush.S @@ -0,0 +1,29 @@ +@ vim:filetype=armasm +#include + + +.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 +