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