From: Rich Felker Date: Sun, 4 Nov 2012 22:06:31 +0000 (-0500) Subject: mips cache flush/ctl syscall support and header X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=commitdiff_plain;h=fc5f16d18222d197ebf182e50048aa384d84269d mips cache flush/ctl syscall support and header --- diff --git a/include/sys/cachectl.h b/include/sys/cachectl.h new file mode 100644 index 00000000..f3b896a8 --- /dev/null +++ b/include/sys/cachectl.h @@ -0,0 +1,22 @@ +#ifndef _SYS_CACHECTL_H +#define _SYS_CACHECTL_H + +#ifdef __cplusplus +extern "C" { +#endif + +#define ICACHE (1<<0) +#define DCACHE (1<<1) +#define BCACHE (ICACHE|DCACHE) +#define CACHEABLE 0 +#define UNCACHEABLE 1 + +int cachectl(void *, int, int); +int cacheflush(void *, int, int); +int _flush_cache(void *, int, int); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/linux/cache.c b/src/linux/cache.c new file mode 100644 index 00000000..3f0abc7c --- /dev/null +++ b/src/linux/cache.c @@ -0,0 +1,18 @@ +#include "syscall.h" +#include "libc.h" + +#ifdef SYS_cacheflush +int _flush_cache(void *addr, int len, int op) +{ + return syscall(SYS_cacheflush, addr, len, op); +} +weak_alias(_flush_cache, cacheflush); +#endif + +#ifdef SYS_cachectl +int __cachectl(void *addr, int len, int op) +{ + return syscall(SYS_cachectl, addr, len, op); +} +weak_alias(__cachectl, cachectl); +#endif