diff options
author | 2013-08-06 08:19:52 +0000 | |
---|---|---|
committer | 2013-08-06 08:19:52 +0000 | |
commit | 035f2f4eaef1c2f15e618d49dc0fc4cfe009729c (patch) | |
tree | 0b77dbb63975719a1e590e8922b97d7c63714fc0 | |
parent | In tcp_ctloutput() tp was assigned at two different places for IPv4 (diff) | |
download | wireguard-openbsd-035f2f4eaef1c2f15e618d49dc0fc4cfe009729c.tar.xz wireguard-openbsd-035f2f4eaef1c2f15e618d49dc0fc4cfe009729c.zip |
The atomic_setbits_int() and atomic_clearbits_int() functions touch the
condition code register so mark it s clobbered.
Fixes uvm_page_physload() and who knows what else.
ok jsg@, mpi@
-rw-r--r-- | sys/arch/powerpc/include/atomic.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/arch/powerpc/include/atomic.h b/sys/arch/powerpc/include/atomic.h index 152d4d4a29d..1cc9e487300 100644 --- a/sys/arch/powerpc/include/atomic.h +++ b/sys/arch/powerpc/include/atomic.h @@ -1,4 +1,4 @@ -/* $OpenBSD: atomic.h,v 1.4 2011/03/23 16:54:36 pirofti Exp $ */ +/* $OpenBSD: atomic.h,v 1.5 2013/08/06 08:19:52 kettenis Exp $ */ /* Public Domain */ @@ -17,7 +17,7 @@ atomic_setbits_int(__volatile unsigned int *uip, unsigned int v) " or %0, %1, %0 \n" " stwcx. %0, 0, %2 \n" " bne- 1b \n" - " sync" : "=&r" (tmp) : "r" (v), "r" (uip) : "memory"); + " sync" : "=&r" (tmp) : "r" (v), "r" (uip) : "cc", "memory"); } static __inline void @@ -30,7 +30,7 @@ atomic_clearbits_int(__volatile unsigned int *uip, unsigned int v) " andc %0, %0, %1 \n" " stwcx. %0, 0, %2 \n" " bne- 1b \n" - " sync" : "=&r" (tmp) : "r" (v), "r" (uip) : "memory"); + " sync" : "=&r" (tmp) : "r" (v), "r" (uip) : "cc", "memory"); } #endif /* defined(_KERNEL) */ |