summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormiod <miod@openbsd.org>2008-01-03 22:33:49 +0000
committermiod <miod@openbsd.org>2008-01-03 22:33:49 +0000
commit0f6ab413fd3f542d16e63390de44288569f48136 (patch)
tree2a4d76ac9731920ddb0646f5aa04b6f1b56ff767
parentEnable wide transfers in the IOPB on wide busses, and get the IOPB passthrough (diff)
downloadwireguard-openbsd-0f6ab413fd3f542d16e63390de44288569f48136.tar.xz
wireguard-openbsd-0f6ab413fd3f542d16e63390de44288569f48136.zip
Add an explicit clobber to prevent gcc from reordering instructions around
sparc_wrpr(), similar to the psl.h changes years ago; ok kettenis@
-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)