Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/arm Add armv7_drain_writebuf (which is just a dsb).
details: https://anonhg.NetBSD.org/src/rev/4d691c21a7d5
branches: trunk
changeset: 782168:4d691c21a7d5
user: matt <matt%NetBSD.org@localhost>
date: Fri Oct 19 13:47:03 2012 +0000
description:
Add armv7_drain_writebuf (which is just a dsb).
diffstat:
sys/arch/arm/arm/cpufunc.c | 6 +++---
sys/arch/arm/arm/cpufunc_asm_armv7.S | 9 ++++++++-
sys/arch/arm/include/cpufunc.h | 3 ++-
3 files changed, 13 insertions(+), 5 deletions(-)
diffs (66 lines):
diff -r 3172616e720a -r 4d691c21a7d5 sys/arch/arm/arm/cpufunc.c
--- a/sys/arch/arm/arm/cpufunc.c Fri Oct 19 13:46:07 2012 +0000
+++ b/sys/arch/arm/arm/cpufunc.c Fri Oct 19 13:47:03 2012 +0000
@@ -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 @@
/* 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,
diff -r 3172616e720a -r 4d691c21a7d5 sys/arch/arm/arm/cpufunc_asm_armv7.S
--- a/sys/arch/arm/arm/cpufunc_asm_armv7.S Fri Oct 19 13:46:07 2012 +0000
+++ b/sys/arch/arm/arm/cpufunc_asm_armv7.S Fri Oct 19 13:47:03 2012 +0000
@@ -74,7 +74,7 @@
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 @@
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); */
diff -r 3172616e720a -r 4d691c21a7d5 sys/arch/arm/include/cpufunc.h
--- a/sys/arch/arm/include/cpufunc.h Fri Oct 19 13:46:07 2012 +0000
+++ b/sys/arch/arm/include/cpufunc.h Fri Oct 19 13:47:03 2012 +0000
@@ -474,7 +474,8 @@
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
Home |
Main Index |
Thread Index |
Old Index