MCPcopy Create free account
hub / github.com/F-Stack/f-stack / atomic_clear_32

Function atomic_clear_32

freebsd/mips/include/atomic.h:109–123  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

107}
108
109static __inline void
110atomic_clear_32(__volatile uint32_t *p, uint32_t v)
111{
112 uint32_t temp;
113 v = ~v;
114
115 __asm __volatile (
116 "1:\tll %0, %3\n\t" /* load old value */
117 "and %0, %2, %0\n\t" /* calculate new value */
118 "sc %0, %1\n\t" /* attempt to store */
119 "beqz %0, 1b\n\t" /* spin if failed */
120 : "=&r" (temp), "=m" (*p)
121 : "r" (v), "m" (*p)
122 : "memory");
123}
124
125static __inline void
126atomic_add_32(__volatile uint32_t *p, uint32_t v)

Callers 2

vm_page_bits_clearFunction · 0.50
vm_page_aflag_clearFunction · 0.50

Calls

no outgoing calls

Tested by

no test coverage detected