<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/arch/sh/kernel/io_trapped.c, branch v3.14</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>Disintegrate asm/system.h for SH</title>
<updated>2012-03-28T17:30:03+00:00</updated>
<author>
<name>David Howells</name>
<email>dhowells@redhat.com</email>
</author>
<published>2012-03-28T17:30:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e839ca528718e68cad32a307dc9aabf01ef3eb05'/>
<id>e839ca528718e68cad32a307dc9aabf01ef3eb05</id>
<content type='text'>
Disintegrate asm/system.h for SH.

Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;
cc: linux-sh@vger.kernel.org
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Disintegrate asm/system.h for SH.

Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;
cc: linux-sh@vger.kernel.org
</pre>
</div>
</content>
</entry>
<entry>
<title>treewide: Convert uses of struct resource to resource_size(ptr)</title>
<updated>2011-06-10T12:55:36+00:00</updated>
<author>
<name>Joe Perches</name>
<email>joe@perches.com</email>
</author>
<published>2011-06-09T16:13:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=28f65c11f2ffb3957259dece647a24f8ad2e241b'/>
<id>28f65c11f2ffb3957259dece647a24f8ad2e241b</id>
<content type='text'>
Several fixes as well where the +1 was missing.

Done via coccinelle scripts like:

@@
struct resource *ptr;
@@

- ptr-&gt;end - ptr-&gt;start + 1
+ resource_size(ptr)

and some grep and typing.

Mostly uncompiled, no cross-compilers.

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Several fixes as well where the +1 was missing.

Done via coccinelle scripts like:

@@
struct resource *ptr;
@@

- ptr-&gt;end - ptr-&gt;start + 1
+ resource_size(ptr)

and some grep and typing.

Mostly uncompiled, no cross-compilers.

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sh: wire up perf alignment and emulation faults.</title>
<updated>2010-10-12T21:55:26+00:00</updated>
<author>
<name>Paul Mundt</name>
<email>lethal@linux-sh.org</email>
</author>
<published>2010-10-12T21:55:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=ace2dc7d12693545b67f15ab8cdb3d255c937713'/>
<id>ace2dc7d12693545b67f15ab8cdb3d255c937713</id>
<content type='text'>
This plugs in the alignment and emulation fault reporting for perf sw
events.

Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This plugs in the alignment and emulation fault reporting for perf sw
events.

Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sh: support for platforms without PIO.</title>
<updated>2010-06-02T07:31:42+00:00</updated>
<author>
<name>Paul Mundt</name>
<email>lethal@linux-sh.org</email>
</author>
<published>2010-05-25T11:06:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=86e4dd5add77ab809f5427391dfabb8f78cbcb58'/>
<id>86e4dd5add77ab809f5427391dfabb8f78cbcb58</id>
<content type='text'>
This extends some of the existing special casing for HAS_IOPORT
platforms and gets it to the point where platforms can begin to
conditionally select it.

The major changes here are that the PIO routines themselves go away
completely, including all of the machvec port mapping wrappers. With this
in place it's possible for any non-machvec abusing platform to disable
PIO completely. At present this is left as an opt-in until the abusers
are the odd ones out instead of the majority.

Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This extends some of the existing special casing for HAS_IOPORT
platforms and gets it to the point where platforms can begin to
conditionally select it.

The major changes here are that the PIO routines themselves go away
completely, including all of the machvec port mapping wrappers. With this
in place it's possible for any non-machvec abusing platform to disable
PIO completely. At present this is left as an opt-in until the abusers
are the odd ones out instead of the majority.

Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sh: Optimize runtime disabling of trapped I/O.</title>
<updated>2010-01-27T12:56:57+00:00</updated>
<author>
<name>Paul Mundt</name>
<email>lethal@linux-sh.org</email>
</author>
<published>2010-01-27T12:56:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=08b36c4a02b5a9db609fc6d93b9c41d7fa75713c'/>
<id>08b36c4a02b5a9db609fc6d93b9c41d7fa75713c</id>
<content type='text'>
Presently trapped I/O is only registered if it's not explicitly disabled
for the platforms that select it openly. From the fault path this runs
through an address lookup before figuring out that nothing matches and
falls back through the error path, but we can forego the lookup
completely by testing if it's been explicitly disabled. This provides a
measurable speedup for things like qemu that rely on runtime disabling.

Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Presently trapped I/O is only registered if it's not explicitly disabled
for the platforms that select it openly. From the fault path this runs
through an address lookup before figuring out that nothing matches and
falls back through the error path, but we can forego the lookup
completely by testing if it's been explicitly disabled. This provides a
measurable speedup for things like qemu that rely on runtime disabling.

Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sh: Mass ctrl_in/outX to __raw_read/writeX conversion.</title>
<updated>2010-01-26T03:58:40+00:00</updated>
<author>
<name>Paul Mundt</name>
<email>lethal@linux-sh.org</email>
</author>
<published>2010-01-26T03:58:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=9d56dd3b083a3bec56e9da35ce07baca81030b03'/>
<id>9d56dd3b083a3bec56e9da35ce07baca81030b03</id>
<content type='text'>
The old ctrl in/out routines are non-portable and unsuitable for
cross-platform use. While drivers/sh has already been sanitized, there
is still quite a lot of code that is not. This converts the arch/sh/ bits
over, which permits us to flag the routines as deprecated whilst still
building with -Werror for the architecture code, and to ensure that
future users are not added.

Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The old ctrl in/out routines are non-portable and unsuitable for
cross-platform use. While drivers/sh has already been sanitized, there
is still quite a lot of code that is not. This converts the arch/sh/ bits
over, which permits us to flag the routines as deprecated whilst still
building with -Werror for the architecture code, and to ensure that
future users are not added.

Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sh: Only shout about fixing up unexpected unaligned accesses</title>
<updated>2009-08-29T11:31:44+00:00</updated>
<author>
<name>Matt Fleming</name>
<email>matt@console-pimps.org</email>
</author>
<published>2009-08-28T21:37:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=4aa5ac4ef44dd8c986241c54298abd7910b78b3f'/>
<id>4aa5ac4ef44dd8c986241c54298abd7910b78b3f</id>
<content type='text'>
Some unaligned accesses are completely expected. For example, the
trapped_io code uses the unaligned access fixup code path so there's no
need to warn about having to fixup the unaligned access.

Signed-off-by: Matt Fleming &lt;matt@console-pimps.org&gt;
Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some unaligned accesses are completely expected. For example, the
trapped_io code uses the unaligned access fixup code path so there's no
need to warn about having to fixup the unaligned access.

Signed-off-by: Matt Fleming &lt;matt@console-pimps.org&gt;
Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sh: Rework irqflags tracing to fix up CONFIG_PROVE_LOCKING.</title>
<updated>2009-07-29T14:01:24+00:00</updated>
<author>
<name>Stuart Menefy</name>
<email>stuart.menefy@st.com</email>
</author>
<published>2009-07-29T14:01:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=fd78a76aefb5bf28a11d6960d29e03a11db62320'/>
<id>fd78a76aefb5bf28a11d6960d29e03a11db62320</id>
<content type='text'>
This cleans up the irqflags tracing code quite a bit and ties it
in to various missing callsites that caused an imbalance when
CONFIG_PROVE_LOCKING was enabled.

Previously this was catching on:

 987 #ifdef CONFIG_PROVE_LOCKING
 988     DEBUG_LOCKS_WARN_ON(!p-&gt;hardirqs_enabled);
 989     DEBUG_LOCKS_WARN_ON(!p-&gt;softirqs_enabled);
 990 #endif
 991     retval = -EAGAIN;

with hardirqs being doubly enabled, and subsequently bailing out
with the following call trace:

	Call trace:
	[&lt;88035224&gt;] __lock_acquire+0x616/0x6a6
	[&lt;88015a8c&gt;] do_fork+0xf8/0x2b0
	[&lt;880331ec&gt;] trace_hardirqs_on_caller+0xd4/0x114
	[&lt;88241074&gt;] _spin_unlock_irq+0x20/0x64
	[&lt;88035224&gt;] __lock_acquire+0x616/0x6a6
	[&lt;8800386c&gt;] kernel_thread+0x48/0x70
	[&lt;88024ecc&gt;] ____call_usermodehelper+0x0/0x110
	[&lt;88024ecc&gt;] ____call_usermodehelper+0x0/0x110
	[&lt;88003894&gt;] kernel_thread_helper+0x0/0x14
	[&lt;88024bac&gt;] __call_usermodehelper+0x38/0x70
	[&lt;88025dc0&gt;] worker_thread+0x150/0x274
	[&lt;88035b9c&gt;] lock_release+0x0/0x198
	[&lt;88024b74&gt;] __call_usermodehelper+0x0/0x70
	[&lt;88028cf0&gt;] autoremove_wake_function+0x0/0x30
	[&lt;88028bf2&gt;] kthread+0x3e/0x70
	[&lt;88025c70&gt;] worker_thread+0x0/0x274
	[&lt;8800389c&gt;] kernel_thread_helper+0x8/0x14
	[&lt;88028bb4&gt;] kthread+0x0/0x70
	[&lt;88003894&gt;] kernel_thread_helper+0x0/0x14

Reported-by: Nobuhiro Iwamatsu &lt;iwamatsu.nobuhiro@renesas.com&gt;
Signed-off-by: Stuart Menefy &lt;stuart.menefy@st.com&gt;
Signed-off-by: Matt Fleming &lt;matt@console-pimps.org&gt;
Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This cleans up the irqflags tracing code quite a bit and ties it
in to various missing callsites that caused an imbalance when
CONFIG_PROVE_LOCKING was enabled.

Previously this was catching on:

 987 #ifdef CONFIG_PROVE_LOCKING
 988     DEBUG_LOCKS_WARN_ON(!p-&gt;hardirqs_enabled);
 989     DEBUG_LOCKS_WARN_ON(!p-&gt;softirqs_enabled);
 990 #endif
 991     retval = -EAGAIN;

with hardirqs being doubly enabled, and subsequently bailing out
with the following call trace:

	Call trace:
	[&lt;88035224&gt;] __lock_acquire+0x616/0x6a6
	[&lt;88015a8c&gt;] do_fork+0xf8/0x2b0
	[&lt;880331ec&gt;] trace_hardirqs_on_caller+0xd4/0x114
	[&lt;88241074&gt;] _spin_unlock_irq+0x20/0x64
	[&lt;88035224&gt;] __lock_acquire+0x616/0x6a6
	[&lt;8800386c&gt;] kernel_thread+0x48/0x70
	[&lt;88024ecc&gt;] ____call_usermodehelper+0x0/0x110
	[&lt;88024ecc&gt;] ____call_usermodehelper+0x0/0x110
	[&lt;88003894&gt;] kernel_thread_helper+0x0/0x14
	[&lt;88024bac&gt;] __call_usermodehelper+0x38/0x70
	[&lt;88025dc0&gt;] worker_thread+0x150/0x274
	[&lt;88035b9c&gt;] lock_release+0x0/0x198
	[&lt;88024b74&gt;] __call_usermodehelper+0x0/0x70
	[&lt;88028cf0&gt;] autoremove_wake_function+0x0/0x30
	[&lt;88028bf2&gt;] kthread+0x3e/0x70
	[&lt;88025c70&gt;] worker_thread+0x0/0x274
	[&lt;8800389c&gt;] kernel_thread_helper+0x8/0x14
	[&lt;88028bb4&gt;] kthread+0x0/0x70
	[&lt;88003894&gt;] kernel_thread_helper+0x0/0x14

Reported-by: Nobuhiro Iwamatsu &lt;iwamatsu.nobuhiro@renesas.com&gt;
Signed-off-by: Stuart Menefy &lt;stuart.menefy@st.com&gt;
Signed-off-by: Matt Fleming &lt;matt@console-pimps.org&gt;
Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sh: Rename opcode_t to insn_size_t.</title>
<updated>2009-05-09T07:02:08+00:00</updated>
<author>
<name>Paul Mundt</name>
<email>lethal@linux-sh.org</email>
</author>
<published>2009-05-09T07:02:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=2bcfffa42309b6f73042c62459bf5207762a271d'/>
<id>2bcfffa42309b6f73042c62459bf5207762a271d</id>
<content type='text'>
This is now clashing with a driver, so just rename it.

Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is now clashing with a driver, so just rename it.

Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sh: Add a command line option for disabling I/O trapping.</title>
<updated>2009-04-02T03:31:16+00:00</updated>
<author>
<name>Paul Mundt</name>
<email>lethal@linux-sh.org</email>
</author>
<published>2009-04-02T03:31:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=eeee7853c4ffaf5b9eb58f39708e3c78f66cee15'/>
<id>eeee7853c4ffaf5b9eb58f39708e3c78f66cee15</id>
<content type='text'>
This adds a 'noiotrap' kernel command line option to permit disabling of
I/O trapping. This is mostly useful for running on emulators where the
physical device limitations are not an issue.

Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds a 'noiotrap' kernel command line option to permit disabling of
I/O trapping. This is mostly useful for running on emulators where the
physical device limitations are not an issue.

Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
