<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-linux/include/asm-arm/atomic.h, branch stable</title>
<subtitle>WireGuard for the Linux kernel</subtitle>
<id>https://git.zx2c4.com/wireguard-linux/atom/include/asm-arm/atomic.h?h=stable</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-linux/atom/include/asm-arm/atomic.h?h=stable'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/'/>
<updated>2008-08-02T20:32:35Z</updated>
<entry>
<title>[ARM] move include/asm-arm to arch/arm/include/asm</title>
<updated>2008-08-02T20:32:35Z</updated>
<author>
<name>Russell King</name>
<email>rmk@dyn-67.arm.linux.org.uk</email>
</author>
<published>2008-08-02T09:55:55Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=4baa9922430662431231ac637adedddbb0cfb2d7'/>
<id>urn:sha1:4baa9922430662431231ac637adedddbb0cfb2d7</id>
<content type='text'>
Move platform independent header files to arch/arm/include/asm, leaving
those in asm/arch* and asm/plat* alone.

Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>atomic.h: atomic_add_unless as inline. Remove system.h atomic.h circular dependency</title>
<updated>2007-05-08T18:15:20Z</updated>
<author>
<name>Mathieu Desnoyers</name>
<email>compudj@krystal.dyndns.org</email>
</author>
<published>2007-05-08T07:34:38Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=2856f5e31c1413bf6e4f1371e07e17078a5fee5e'/>
<id>urn:sha1:2856f5e31c1413bf6e4f1371e07e17078a5fee5e</id>
<content type='text'>
atomic_add_unless as inline. Remove system.h atomic.h circular dependency.
I agree (with Andi Kleen) this typeof is not needed and more error
prone. All the original atomic.h code that uses cmpxchg (which includes
the atomic_add_unless) uses defines instead of inline functions,
probably to circumvent a circular dependency between system.h and
atomic.h on powerpc (which my patch addresses). Therefore, it makes
sense to use inline functions that will provide type checking.

atomic_add_unless as inline. Remove system.h atomic.h circular dependency.
Digging into the FRV architecture shows me that it is also affected by
such a circular dependency. Here is the diff applying this against the
rest of my atomic.h patches.

It applies over the atomic.h standardization patches.

Signed-off-by: Mathieu Desnoyers &lt;mathieu.desnoyers@polymtl.ca&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>[ARM] 4264/1: ldrex/strex syntax errors with recent compilers</title>
<updated>2007-03-15T20:39:16Z</updated>
<author>
<name>Stelian Pop</name>
<email>stelian@popies.net</email>
</author>
<published>2007-03-15T15:54:27Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=0803c30c23d39e1db88d06ef59c30fa5ef6c3ada'/>
<id>urn:sha1:0803c30c23d39e1db88d06ef59c30fa5ef6c3ada</id>
<content type='text'>
Trying to build some code using atomic_clear_mask() on a ARM v6
processor with a recent compiler (tried with gcc version 4.1.1
(CodeSourcery ARM Sourcery G++ 2006q3-26), but
all gcc &gt; 4.1 might be affected) results in the following:

/tmp/ccWKLJV8.s: Assembler messages:
/tmp/ccWKLJV8.s:581: Error: instruction does not accept this addressing
mode -- `ldrex r0,r3'
/tmp/ccWKLJV8.s:583: Error: instruction does not accept this addressing
mode -- `strex r1,r0,r3'

Older gcc (like gcc version 4.0.0 (DENX ELDK 4.1 4.0.0)) have no problem
with this.

The patch below fixes the compile error. I also verified that gcc-4.0.0 generates identical code using both forms.

Signed-off-by: Stelian Pop &lt;stelian@popies.net&gt;
Acked-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>[ARM] 3810/1: switch atomic helpers over to raw_local_irq_{save,restore}</title>
<updated>2006-09-25T09:25:24Z</updated>
<author>
<name>Lennert Buytenhek</name>
<email>buytenh@wantstofly.org</email>
</author>
<published>2006-09-16T09:47:18Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=8dd5c845bbc26c3517398abc3e5477b4b42e7176'/>
<id>urn:sha1:8dd5c845bbc26c3517398abc3e5477b4b42e7176</id>
<content type='text'>
Now that we have raw_* variants of local_irq_$FOO(), switch the atomic
helpers over to use those raw_* variants.  This is necessary when using
lockdep on pre-ARMv6 hardware, as lockdep uses atomic_t counters in the
trace_hardirqs_off() path.

Signed-off-by: Lennert Buytenhek &lt;buytenh@wantstofly.org&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>Don't include linux/config.h from anywhere else in include/</title>
<updated>2006-04-26T11:56:16Z</updated>
<author>
<name>David Woodhouse</name>
<email>dwmw2@infradead.org</email>
</author>
<published>2006-04-26T11:56:16Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=62c4f0a2d5a188f73a94f2cb8ea0dba3e7cf0a7f'/>
<id>urn:sha1:62c4f0a2d5a188f73a94f2cb8ea0dba3e7cf0a7f</id>
<content type='text'>
Signed-off-by: David Woodhouse &lt;dwmw2@infradead.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] mutex subsystem, add atomic_xchg() to all arches</title>
<updated>2006-01-09T23:59:17Z</updated>
<author>
<name>Ingo Molnar</name>
<email>mingo@elte.hu</email>
</author>
<published>2006-01-09T23:59:17Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=ffbf670f5cd50501a34a5187981460da2216071e'/>
<id>urn:sha1:ffbf670f5cd50501a34a5187981460da2216071e</id>
<content type='text'>
add atomic_xchg() to all the architectures. Needed by the new mutex code.

Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Arjan van de Ven &lt;arjan@infradead.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] atomic_long_t &amp; include/asm-generic/atomic.h V2</title>
<updated>2006-01-06T16:33:29Z</updated>
<author>
<name>Christoph Lameter</name>
<email>clameter@engr.sgi.com</email>
</author>
<published>2006-01-06T08:11:20Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=d3cb487149bd706aa6aeb02042332a450978dc1c'/>
<id>urn:sha1:d3cb487149bd706aa6aeb02042332a450978dc1c</id>
<content type='text'>
Several counters already have the need to use 64 atomic variables on 64 bit
platforms (see mm_counter_t in sched.h).  We have to do ugly ifdefs to fall
back to 32 bit atomic on 32 bit platforms.

The VM statistics patch that I am working on will also make more extensive
use of atomic64.

This patch introduces a new type atomic_long_t by providing definitions in
asm-generic/atomic.h that works similar to the c "long" type.  Its 32 bits
on 32 bit platforms and 64 bits on 64 bit platforms.

Also cleans up the determination of the mm_counter_t in sched.h.

Signed-off-by: Christoph Lameter &lt;clameter@sgi.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[ARM] Use unsigned long not u32 in atomic_cmpxchg</title>
<updated>2005-11-16T18:03:10Z</updated>
<author>
<name>Russell King</name>
<email>rmk@dyn-67.arm.linux.org.uk</email>
</author>
<published>2005-11-16T18:03:10Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=49ee57a3295a227b6a02785f75ccd521e493e983'/>
<id>urn:sha1:49ee57a3295a227b6a02785f75ccd521e493e983</id>
<content type='text'>
Since atomic.h does not include types.h, u32 may not be defined.
Since atomics are supposed to work on unsigned long quantities,
use unsigned long instead.

Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>[ARM] Add linux/compiler.h includes where required</title>
<updated>2005-11-16T17:23:57Z</updated>
<author>
<name>Russell King</name>
<email>rmk@dyn-67.arm.linux.org.uk</email>
</author>
<published>2005-11-16T17:23:57Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=8dc39b883e9497445b53c498be7493c3e43af006'/>
<id>urn:sha1:8dc39b883e9497445b53c498be7493c3e43af006</id>
<content type='text'>
atomic.h, bitops.h and mmu_context.h are using likely/unlikely.
thread_info.h uses __attribute_const__.  Hence these files require
linux/compiler.h to be included.

Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>[ARM] 3165/1: fix atomic_cmpxchg() implementation for ARMv6+</title>
<updated>2005-11-16T15:05:11Z</updated>
<author>
<name>Nicolas Pitre</name>
<email>nico@cam.org</email>
</author>
<published>2005-11-16T15:05:11Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=a7d068336197945dc4af65c5973c996e526d51cb'/>
<id>urn:sha1:a7d068336197945dc4af65c5973c996e526d51cb</id>
<content type='text'>
Patch from Nicolas Pitre

If 'old' and 'oldval' are different then 'res' never gets set.  In that
case, if ever %0 happened to contain anything but zero (rather likely)
then the code will loop forever (or until another CPU just come along
and change the atomic value to match 'old' which is rather unlikely).

Signed-off-by: Nicolas Pitre &lt;nico@cam.org&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
</feed>
