Module Name: src
Committed By: matt
Date: Fri Oct 19 13:47:03 UTC 2012
Modified Files:
src/sys/arch/arm/arm: cpufunc.c cpufunc_asm_armv7.S
src/sys/arch/arm/include: cpufunc.h
Log Message:
Add armv7_drain_writebuf (which is just a dsb).
To generate a diff of this commit:
cvs rdiff -u -r1.116 -r1.117 src/sys/arch/arm/arm/cpufunc.c
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/arm/arm/cpufunc_asm_armv7.S
cvs rdiff -u -r1.60 -r1.61 src/sys/arch/arm/include/cpufunc.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/arm/arm/cpufunc.c
diff -u src/sys/arch/arm/arm/cpufunc.c:1.116 src/sys/arch/arm/arm/cpufunc.c:1.117
--- src/sys/arch/arm/arm/cpufunc.c:1.116 Tue Sep 11 17:51:38 2012
+++ src/sys/arch/arm/arm/cpufunc.c Fri Oct 19 13:47:03 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: cpufunc.c,v 1.116 2012/09/11 17:51:38 matt Exp $ */
+/* $NetBSD: cpufunc.c,v 1.117 2012/10/19 13:47:03 matt Exp $ */
/*
* arm7tdmi support code Copyright (c) 2001 John Fremlin
@@ -49,7 +49,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: cpufunc.c,v 1.116 2012/09/11 17:51:38 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cpufunc.c,v 1.117 2012/10/19 13:47:03 matt Exp $");
#include "opt_compat_netbsd.h"
#include "opt_cpuoptions.h"
@@ -1311,7 +1311,7 @@ struct cpu_functions cortex_cpufuncs = {
/* Other functions */
.cf_flush_prefetchbuf = cpufunc_nullop,
- .cf_drain_writebuf = arm11_drain_writebuf,
+ .cf_drain_writebuf = armv7_drain_writebuf,
.cf_flush_brnchtgt_C = cpufunc_nullop,
.cf_flush_brnchtgt_E = (void *)cpufunc_nullop,
Index: src/sys/arch/arm/arm/cpufunc_asm_armv7.S
diff -u src/sys/arch/arm/arm/cpufunc_asm_armv7.S:1.8 src/sys/arch/arm/arm/cpufunc_asm_armv7.S:1.9
--- src/sys/arch/arm/arm/cpufunc_asm_armv7.S:1.8 Wed Oct 17 18:55:43 2012
+++ src/sys/arch/arm/arm/cpufunc_asm_armv7.S Fri Oct 19 13:47:03 2012
@@ -74,7 +74,7 @@ ENTRY(armv7_tlb_flushID_SE)
END(armv7_tlb_flushID_SE)
-ENTRY(armv7_setttb)
+ENTRY_NP(armv7_setttb)
mrc p15, 0, r2, c0, c0, 5 @ get MPIDR
cmp r2, #0
orrlt r0, #0x5b @ MP, cachable (Normal WB)
@@ -91,6 +91,13 @@ ENTRY(armv7_setttb)
bx lr
END(armv7_setttb)
+/* Other functions. */
+
+ENTRY_NP(armv7_drain_writebuf)
+ dsb @ data synchronization barrier
+ RET
+END(armv7_drain_writebuf)
+
/* Cache operations. */
/* LINTSTUB: void armv7_icache_sync_range(vaddr_t, vsize_t); */
Index: src/sys/arch/arm/include/cpufunc.h
diff -u src/sys/arch/arm/include/cpufunc.h:1.60 src/sys/arch/arm/include/cpufunc.h:1.61
--- src/sys/arch/arm/include/cpufunc.h:1.60 Sat Sep 22 00:33:37 2012
+++ src/sys/arch/arm/include/cpufunc.h Fri Oct 19 13:47:03 2012
@@ -474,7 +474,8 @@ void armv7_icache_sync_all(void);
void armv7_cpu_sleep(int);
void armv7_context_switch(u_int);
void armv7_tlb_flushID_SE(u_int);
-void armv7_setup (char *string);
+void armv7_drain_writebuf(void);
+void armv7_setup(char *string);
#endif