mips cache flush/ctl syscall support and header

This commit is contained in:
Rich Felker 2012-11-04 17:06:31 -05:00
parent 2f2f115b58
commit fc5f16d182
2 changed files with 40 additions and 0 deletions

22
include/sys/cachectl.h Normal file
View File

@ -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

18
src/linux/cache.c Normal file
View File

@ -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