summaryrefslogtreecommitdiffstats
path: root/sys/arm/include
diff options
context:
space:
mode:
authorian <ian@FreeBSD.org>2015-05-23 17:30:30 +0000
committerian <ian@FreeBSD.org>2015-05-23 17:30:30 +0000
commitc063f629c5b85ca49413bf3486cf9b5263bbacb8 (patch)
tree4fac85e9ad096f7172763c59e94eb2d7a04318d0 /sys/arm/include
parent26d3f673f7e5ee199b1670f9fe60f725d5ccd4b8 (diff)
downloadFreeBSD-src-c063f629c5b85ca49413bf3486cf9b5263bbacb8.zip
FreeBSD-src-c063f629c5b85ca49413bf3486cf9b5263bbacb8.tar.gz
MFC r278770, r279114, r279215, r279338, r279543:
Add logic for handling new-style ARM cpu ID info. Correct a comment which was exactly backwards from reality. There is no reason to do i+dcache writeback and invalidate when changing the translation table (this may be left over from armv5 days). It's especially bad to do so using a cache operation that isn't coherent on SMP systems. Add casting to make atomic ops work for pointers. (Apparently nobody has ever done atomic ops on pointers before now on arm). Revert incorrect casting.
Diffstat (limited to 'sys/arm/include')
-rw-r--r--sys/arm/include/atomic.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/arm/include/atomic.h b/sys/arm/include/atomic.h
index 5857f5d..57fdf71 100644
--- a/sys/arm/include/atomic.h
+++ b/sys/arm/include/atomic.h
@@ -582,8 +582,8 @@ atomic_load_64(volatile uint64_t *p)
/*
* The only way to atomically load 64 bits is with LDREXD which puts the
- * exclusive monitor into the open state, so reset it with CLREX because
- * we don't actually need to store anything.
+ * exclusive monitor into the exclusive state, so reset it to open state
+ * with CLREX because we don't actually need to store anything.
*/
__asm __volatile(
"1: \n"
OpenPOWER on IntegriCloud