summaryrefslogtreecommitdiff
path: root/sys/arch/sparc64/include/ctlreg.h
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2008-01-03 22:33:50 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2008-01-03 22:33:50 +0000
commit1810957e204beb05eec6363315050933b4d19384 (patch)
tree3fccc44ac9758dded9cfa315737f341c0463e1cb /sys/arch/sparc64/include/ctlreg.h
parent1cec4852a47329233bfd75d8313aead4cacefd3b (diff)
Add an explicit clobber to prevent gcc from reordering instructions around
sparc_wrpr(), similar to the psl.h changes years ago; ok kettenis@
Diffstat (limited to 'sys/arch/sparc64/include/ctlreg.h')
-rw-r--r--sys/arch/sparc64/include/ctlreg.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/arch/sparc64/include/ctlreg.h b/sys/arch/sparc64/include/ctlreg.h
index c8ea062cd3e..41e75f5d2a9 100644
--- a/sys/arch/sparc64/include/ctlreg.h
+++ b/sys/arch/sparc64/include/ctlreg.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: ctlreg.h,v 1.13 2007/11/28 20:05:30 kettenis Exp $ */
+/* $OpenBSD: ctlreg.h,v 1.14 2008/01/03 22:33:49 miod Exp $ */
/* $NetBSD: ctlreg.h,v 1.28 2001/08/06 23:55:34 eeh Exp $ */
/*
@@ -542,6 +542,7 @@ do { \
else \
__asm __volatile("wrpr %0, %1, %%" #name \
: : "r" (val), "rI" (xor) : "%g0"); \
+ __asm __volatile("" : : : "memory"); \
} while(0)