summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/bfin/cacheflush.c
diff options
context:
space:
mode:
authorSteve Kilbane <steve@whitecrow.demon.co.uk>2011-02-21 19:44:42 -0500
committerMike Frysinger <vapier@gentoo.org>2011-02-21 19:51:02 -0500
commit128e290b1e4204ac33b4cad7fc6189447f029311 (patch)
treea537058a7df9c510d2c6f1945ed2e1d7fec89665 /libc/sysdeps/linux/bfin/cacheflush.c
parentf8355584a335a2a2dc03842f19ba9f1b587b2f5c (diff)
bfin: add support for new cacheflush syscall
Newer gcc's will generate a call to cacheflush when updating jump tables, and that has to be done in kernel space (to avoid hardware anomalies). So make sure uClibc provides that symbol. Signed-off-by: Steve Kilbane <steve@whitecrow.demon.co.uk> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'libc/sysdeps/linux/bfin/cacheflush.c')
-rw-r--r--libc/sysdeps/linux/bfin/cacheflush.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/bfin/cacheflush.c b/libc/sysdeps/linux/bfin/cacheflush.c
new file mode 100644
index 000000000..a8d81c419
--- /dev/null
+++ b/libc/sysdeps/linux/bfin/cacheflush.c
@@ -0,0 +1,14 @@
+/*
+ * cacheflush.c - Cache control functions for Blackfin.
+ *
+ * Copyright (C) 2010 Analog Devices Inc.
+ *
+ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+ */
+
+#include <unistd.h>
+#include <errno.h>
+#include <sys/syscall.h>
+#include <sys/cachectl.h>
+
+_syscall3 (int, cacheflush, void *, start, const int, nbytes, const int, flags)