<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/arch/m68k/include, branch v3.0.80</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/arch/m68k/include?h=v3.0.80</id>
<link rel='self' href='https://git.amat.us/linux/atom/arch/m68k/include?h=v3.0.80'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2013-04-05T17:16:35Z</updated>
<entry>
<title>signal: Define __ARCH_HAS_SA_RESTORER so we know whether to clear sa_restorer</title>
<updated>2013-04-05T17:16:35Z</updated>
<author>
<name>Ben Hutchings</name>
<email>ben@decadent.org.uk</email>
</author>
<published>2012-11-26T03:24:19Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1c190534db77a019936d95a1826a55bf34d7ed23'/>
<id>urn:sha1:1c190534db77a019936d95a1826a55bf34d7ed23</id>
<content type='text'>
Vaguely based on upstream commit 574c4866e33d 'consolidate kernel-side
struct sigaction declarations'.

flush_signal_handlers() needs to know whether sigaction::sa_restorer
is defined, not whether SA_RESTORER is defined.  Define the
__ARCH_HAS_SA_RESTORER macro to indicate this.

Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
Cc: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>m68k: fix sigset_t accessor functions</title>
<updated>2012-11-26T19:34:35Z</updated>
<author>
<name>Andreas Schwab</name>
<email>schwab@linux-m68k.org</email>
</author>
<published>2012-11-17T21:27:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=345d88cfbdd56cab94faf80554fe000f19a51576'/>
<id>urn:sha1:345d88cfbdd56cab94faf80554fe000f19a51576</id>
<content type='text'>
commit 34fa78b59c52d1db3513db4c1a999db26b2e9ac2 upstream.

The sigaddset/sigdelset/sigismember functions that are implemented with
bitfield insn cannot allow the sigset argument to be placed in a data
register since the sigset is wider than 32 bits.  Remove the "d"
constraint from the asm statements.

The effect of the bug is that sending RT signals does not work, the signal
number is truncated modulo 32.

Signed-off-by: Andreas Schwab &lt;schwab@linux-m68k.org&gt;
Signed-off-by: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>m68k: Correct the Atari ALLOWINT definition</title>
<updated>2012-08-09T15:27:53Z</updated>
<author>
<name>Mikael Pettersson</name>
<email>mikpe@it.uu.se</email>
</author>
<published>2012-04-18T22:53:36Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e3d8d77f515ca7aa4896f1ed9b8e24a487225109'/>
<id>urn:sha1:e3d8d77f515ca7aa4896f1ed9b8e24a487225109</id>
<content type='text'>
commit c663600584a596b5e66258cc10716fb781a5c2c9 upstream.

Booting a 3.2, 3.3, or 3.4-rc4 kernel on an Atari using the
`nfeth' ethernet device triggers a WARN_ONCE() in generic irq
handling code on the first irq for that device:

WARNING: at kernel/irq/handle.c:146 handle_irq_event_percpu+0x134/0x142()
irq 3 handler nfeth_interrupt+0x0/0x194 enabled interrupts
Modules linked in:
Call Trace: [&lt;000299b2&gt;] warn_slowpath_common+0x48/0x6a
 [&lt;000299c0&gt;] warn_slowpath_common+0x56/0x6a
 [&lt;00029a4c&gt;] warn_slowpath_fmt+0x2a/0x32
 [&lt;0005b34c&gt;] handle_irq_event_percpu+0x134/0x142
 [&lt;0005b34c&gt;] handle_irq_event_percpu+0x134/0x142
 [&lt;0000a584&gt;] nfeth_interrupt+0x0/0x194
 [&lt;001ba0a8&gt;] schedule_preempt_disabled+0x0/0xc
 [&lt;0005b37a&gt;] handle_irq_event+0x20/0x2c
 [&lt;0005add4&gt;] generic_handle_irq+0x2c/0x3a
 [&lt;00002ab6&gt;] do_IRQ+0x20/0x32
 [&lt;0000289e&gt;] auto_irqhandler_fixup+0x4/0x6
 [&lt;00003144&gt;] cpu_idle+0x22/0x2e
 [&lt;001b8a78&gt;] printk+0x0/0x18
 [&lt;0024d112&gt;] start_kernel+0x37a/0x386
 [&lt;0003021d&gt;] __do_proc_dointvec+0xb1/0x366
 [&lt;0003021d&gt;] __do_proc_dointvec+0xb1/0x366
 [&lt;0024c31e&gt;] _sinittext+0x31e/0x9c0

After invoking the irq's handler the kernel sees !irqs_disabled()
and concludes that the handler erroneously enabled interrupts.

However, debugging shows that !irqs_disabled() is true even before
the handler is invoked, which indicates a problem in the platform
code rather than the specific driver.

The warning does not occur in 3.1 or older kernels.

It turns out that the ALLOWINT definition for Atari is incorrect.

The Atari definition of ALLOWINT is ~0x400, the stated purpose of
that is to avoid taking HSYNC interrupts.  irqs_disabled() returns
true if the 3-bit ipl &amp; 4 is non-zero.  The nfeth interrupt runs at
ipl 3 (it's autovector 3), but 3 &amp; 4 is zero so irqs_disabled() is
false, and the warning above is generated.

When interrupts are explicitly disabled, ipl is set to 7.  When they
are enabled, ipl is masked with ALLOWINT.  On Atari this will result
in ipl = 3, which blocks interrupts at ipl 3 and below.  So how come
nfeth interrupts at ipl 3 are received at all?  That's because ipl
is reset to 2 by Atari-specific code in default_idle(), again with
the stated purpose of blocking HSYNC interrupts.  This discrepancy
means that ipl 3 can remain blocked for longer than intended.

Both default_idle() and falcon_hblhandler() identify HSYNC with
ipl 2, and the "Atari ST/.../F030 Hardware Register Listing" agrees,
but ALLOWINT is defined as if HSYNC was ipl 3.

[As an experiment I modified default_idle() to reset ipl to 3, and
as expected that resulted in all nfeth interrupts being blocked.]

The fix is simple: define ALLOWINT as ~0x500 instead.  This makes
arch_local_irq_enable() consistent with default_idle(), and prevents
the !irqs_disabled() problems for ipl 3 interrupts.

Tested on Atari running in an Aranym VM.

Signed-off-by: Mikael Pettersson &lt;mikpe@it.uu.se&gt;
Tested-by: Michael Schmitz &lt;schmitzmic@googlemail.com&gt;
Signed-off-by: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;


</content>
</entry>
<entry>
<title>Merge branch 'setns'</title>
<updated>2011-05-28T17:51:01Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-05-28T17:51:01Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=571503e10045c89af951962ea0bb783482663aad'/>
<id>urn:sha1:571503e10045c89af951962ea0bb783482663aad</id>
<content type='text'>
* setns:
  ns: Wire up the setns system call

Done as a merge to make it easier to fix up conflicts in arm due to
addition of sendmmsg system call
</content>
</entry>
<entry>
<title>ns: Wire up the setns system call</title>
<updated>2011-05-28T17:48:39Z</updated>
<author>
<name>Eric W. Biederman</name>
<email>ebiederm@xmission.com</email>
</author>
<published>2011-05-28T02:28:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7b21fddd087678a70ad64afc0f632e0f1071b092'/>
<id>urn:sha1:7b21fddd087678a70ad64afc0f632e0f1071b092</id>
<content type='text'>
32bit and 64bit on x86 are tested and working.  The rest I have looked
at closely and I can't find any problems.

setns is an easy system call to wire up.  It just takes two ints so I
don't expect any weird architecture porting problems.

While doing this I have noticed that we have some architectures that are
very slow to get new system calls.  cris seems to be the slowest where
the last system calls wired up were preadv and pwritev.  avr32 is weird
in that recvmmsg was wired up but never declared in unistd.h.  frv is
behind with perf_event_open being the last syscall wired up.  On h8300
the last system call wired up was epoll_wait.  On m32r the last system
call wired up was fallocate.  mn10300 has recvmmsg as the last system
call wired up.  The rest seem to at least have syncfs wired up which was
new in the 2.6.39.

v2: Most of the architecture support added by Daniel Lezcano &lt;dlezcano@fr.ibm.com&gt;
v3: ported to v2.6.36-rc4 by: Eric W. Biederman &lt;ebiederm@xmission.com&gt;
v4: Moved wiring up of the system call to another patch
v5: ported to v2.6.39-rc6
v6: rebased onto parisc-next and net-next to avoid syscall  conflicts.
v7: ported to Linus's latest post 2.6.39 tree.

&gt;  arch/blackfin/include/asm/unistd.h     |    3 ++-
&gt;  arch/blackfin/mach-common/entry.S      |    1 +
Acked-by: Mike Frysinger &lt;vapier@gentoo.org&gt;

Oh - ia64 wiring looks good.
Acked-by: Tony Luck &lt;tony.luck@intel.com&gt;

Signed-off-by: Eric W. Biederman &lt;ebiederm@xmission.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>m68knommu: use generic find_next_bit_le()</title>
<updated>2011-05-27T00:12:39Z</updated>
<author>
<name>Akinobu Mita</name>
<email>akinobu.mita@gmail.com</email>
</author>
<published>2011-05-26T23:26:13Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=968d803c98410910fbadca031b6a873d4bc12dd5'/>
<id>urn:sha1:968d803c98410910fbadca031b6a873d4bc12dd5</id>
<content type='text'>
The implementation of find_next_bit_le() on m68knommu is identical with
the generic implementation of find_next_bit_le().

Signed-off-by: Akinobu Mita &lt;akinobu.mita@gmail.com&gt;
Cc: Greg Ungerer &lt;gerg@uclinux.org&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>arch: add #define for each of optimized find bitops</title>
<updated>2011-05-27T00:12:38Z</updated>
<author>
<name>Akinobu Mita</name>
<email>akinobu.mita@gmail.com</email>
</author>
<published>2011-05-26T23:26:06Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a2812e178321132811a53f7be40fe7e9bbffd9e0'/>
<id>urn:sha1:a2812e178321132811a53f7be40fe7e9bbffd9e0</id>
<content type='text'>
The style that we normally use in asm-generic is to test the macro itself
for existence, so in asm-generic, do:

	#ifndef find_next_zero_bit_le
	extern unsigned long find_next_zero_bit_le(const void *addr,
		unsigned long size, unsigned long offset);
	#endif

and in the architectures, write

	static inline unsigned long find_next_zero_bit_le(const void *addr,
		unsigned long size, unsigned long offset)
	#define find_next_zero_bit_le find_next_zero_bit_le

This adds the #define for each of the optimized find bitops in the
architectures.

Suggested-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Akinobu Mita &lt;akinobu.mita@gmail.com&gt;
Acked-by: Hans-Christian Egtvedt &lt;hans-christian.egtvedt@atmel.com&gt;
Acked-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Acked-by: Greg Ungerer &lt;gerg@uclinux.org&gt;
Cc: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
Cc: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Acked-by: Geert Uytterhoeven &lt;geert@linux-m68k.org&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>m68knommu: fix build error due to the lack of find_next_bit_le()</title>
<updated>2011-05-27T00:12:38Z</updated>
<author>
<name>Akinobu Mita</name>
<email>akinobu.mita@gmail.com</email>
</author>
<published>2011-05-26T23:26:05Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e0819410dba141338ebf6ab1057c1863be6247ab'/>
<id>urn:sha1:e0819410dba141338ebf6ab1057c1863be6247ab</id>
<content type='text'>
m68knommu can't build ext4, udf, and ocfs2 due to the lack of
find_next_bit_le().

This implements find_next_bit_le() on m68knommu by duplicating the generic
find_next_bit_le() in lib/find_next_bit.c.

Signed-off-by: Akinobu Mita &lt;akinobu.mita@gmail.com&gt;
Acked-by: Greg Ungerer &lt;gerg@uclinux.org&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>m68knommu: use asm-generic/bitops/ext2-atomic.h</title>
<updated>2011-05-24T05:17:20Z</updated>
<author>
<name>Akinobu Mita</name>
<email>akinobu.mita@gmail.com</email>
</author>
<published>2011-04-17T13:57:29Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=48e1328e06dd9bd7a4932ee47428475963ea55b0'/>
<id>urn:sha1:48e1328e06dd9bd7a4932ee47428475963ea55b0</id>
<content type='text'>
m68knommu can use generic implementation of ext2 atomic bitops.

Signed-off-by: Akinobu Mita &lt;akinobu.mita@gmail.com&gt;
Signed-off-by: Greg Ungerer &lt;gerg@uclinux.org&gt;
</content>
</entry>
<entry>
<title>m68knommu: remove stubs for __ioremap() and iounmap()</title>
<updated>2011-05-24T00:03:50Z</updated>
<author>
<name>Greg Ungerer</name>
<email>gerg@uclinux.org</email>
</author>
<published>2011-03-28T12:32:05Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=593732bd41a6f16eeed9880ae7d51920fc5350ff'/>
<id>urn:sha1:593732bd41a6f16eeed9880ae7d51920fc5350ff</id>
<content type='text'>
The implementation of iounmap() and __ioremap() for non-mmu m68k is
trivial. We can inline them in m68knommu headers and remove the trivial
implementations.

Signed-off-by: Greg Ungerer &lt;gerg@uclinux.org&gt;
</content>
</entry>
</feed>
