Fix __clear_cache implementation

Forgot to give the parameters to syscall function, doh!
master
Thomas Preud'homme 2014-03-11 22:57:22 +08:00
parent b2192fc50b
commit 40e3859739
1 changed files with 2 additions and 1 deletions

View File

@ -728,13 +728,14 @@ void __clear_cache(char *beginning, char *end)
#define _GNU_SOURCE #define _GNU_SOURCE
#include <unistd.h> #include <unistd.h>
#include <sys/syscall.h> #include <sys/syscall.h>
#include <stdio.h>
void __clear_cache(char *beginning, char *end) void __clear_cache(char *beginning, char *end)
{ {
/* __ARM_NR_cacheflush is kernel private and should not be used in user space. /* __ARM_NR_cacheflush is kernel private and should not be used in user space.
* However, there is no ARM asm parser in tcc so we use it for now */ * However, there is no ARM asm parser in tcc so we use it for now */
#if 1 #if 1
syscall(__ARM_NR_cacheflush); syscall(__ARM_NR_cacheflush, beginning, end, 0);
#else #else
__asm__ ("push {r7}\n\t" __asm__ ("push {r7}\n\t"
"mov r7, #0xf0002\n\t" "mov r7, #0xf0002\n\t"