X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=ginge.git;a=blobdiff_plain;f=loader%2Fsys_cacheflush.S;fp=loader%2Fsys_cacheflush.S;h=d6ecebed344a9facb7ab7d82e6346ac670f0d8de;hp=0000000000000000000000000000000000000000;hb=11913091045ebc44f003138d9e69cdc91fe4982e;hpb=55fe8e70a19187ba960fdca6b48f276cf1cd41f4 diff --git a/loader/sys_cacheflush.S b/loader/sys_cacheflush.S new file mode 100644 index 0000000..d6ecebe --- /dev/null +++ b/loader/sys_cacheflush.S @@ -0,0 +1,26 @@ +@ vim:filetype=armasm +#include + + +.global sys_cacheflush @ const void *start_addr, const void *end_addr + +sys_cacheflush: + mov r2, #0 +#ifdef __ARM_EABI__ + /* EABI version */ + str r7, [sp, #-4]! + mov r7, #(__ARM_NR_cacheflush & 0xff) +#if (__ARM_NR_cacheflush & 0x00ff00) + orr r7, r7, #(__ARM_NR_cacheflush & 0x00ff00) +#endif +#if (__ARM_NR_cacheflush & 0xff0000) + orr r7, r7, #(__ARM_NR_cacheflush & 0xff0000) +#endif + swi 0 + ldr r7, [sp], #4 +#else + /* OABI */ + swi __ARM_NR_cacheflush +#endif + bx lr +