<feed xmlns='http://www.w3.org/2005/Atom'>
<title>BMC/Intel-BMC/linux.git/arch/sh/kernel/cpu/sh2/entry.S, branch dev-4.6</title>
<subtitle>Intel OpenBMC Linux kernel source tree (mirror)</subtitle>
<id>https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=dev-4.6</id>
<link rel='self' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=dev-4.6'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/'/>
<updated>2016-03-17T19:46:06+00:00</updated>
<entry>
<title>sh: provide unified syscall trap compatible with all SH models</title>
<updated>2016-03-17T19:46:06+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@libc.org</email>
</author>
<published>2015-12-17T01:04:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=3623d138213aedf0e2c89720f6a3cd0e164cb310'/>
<id>urn:sha1:3623d138213aedf0e2c89720f6a3cd0e164cb310</id>
<content type='text'>
Historically SH-2 Linux (and originally uClinux) used a syscall
calling convention incompatible with the established SH-3/4 Linux ABI.
This choice was made because the trap range used by the existing ABI,
0x10-0x17, overlaps with the hardware exception/interrupt trap range
reserved by SH-2, and in particular, with the SH-2A divide-by-zero and
division-overflow exceptions.

Despite the documented syscall convention using the low bits of the
trap number to signal the number of arguments the kernel should
expect, no version of the kernel has ever used this information, nor
is it useful; all of the registers need to be saved anyway. Therefore,
it is possible to pick a new trap number, 0x1f, that is both supported
by all existing SH-3/4 kernels and unassigned as a hardware trap in
the SH-2 range. This makes it possible to produce SH-2 application
binaries that are forwards-compatible with running on SH-3/4 kernels
and to treat SH as a unified platform with varying ISA support levels
rather than multiple gratuitously-incompatible platforms.

This patch adjusts the range checking SH-2 and SH-2A kernels make for
the syscall trap to accept the range 0x1f-0x2f rather than just
0x20-0x2f. As a result, trap 0x1f now acts as a syscall for all SH
models.

Signed-off-by: Rich Felker &lt;dalias@libc.org&gt;
</content>
</entry>
<entry>
<title>sh: Make sure rte delay slots are nopped out on all parts.</title>
<updated>2009-08-14T22:41:45+00:00</updated>
<author>
<name>Paul Mundt</name>
<email>lethal@linux-sh.org</email>
</author>
<published>2009-08-14T22:41:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=7a90e00dda0bae66b5232d5a37155f13a0581369'/>
<id>urn:sha1:7a90e00dda0bae66b5232d5a37155f13a0581369</id>
<content type='text'>
Future SH parts do not support any instruction but a nop in the rte delay
slot, so make the change for all offending parts. SH-5 is excluded from
this, and already has its own set of restrictions with regards to rte
delay slot handling.

Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
</entry>
<entry>
<title>sh: migrate to arch/sh/include/</title>
<updated>2008-07-28T23:09:44+00:00</updated>
<author>
<name>Paul Mundt</name>
<email>lethal@linux-sh.org</email>
</author>
<published>2008-07-28T23:09:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=f15cbe6f1a4b4d9df59142fc8e4abb973302cf44'/>
<id>urn:sha1:f15cbe6f1a4b4d9df59142fc8e4abb973302cf44</id>
<content type='text'>
This follows the sparc changes a439fe51a1f8eb087c22dd24d69cebae4a3addac.

Most of the moving about was done with Sam's directions at:

http://marc.info/?l=linux-sh&amp;m=121724823706062&amp;w=2

with subsequent hacking and fixups entirely my fault.

Signed-off-by: Sam Ravnborg &lt;sam@ravnborg.org&gt;
Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
</entry>
<entry>
<title>sh2(A) exception handler update</title>
<updated>2008-07-28T09:10:34+00:00</updated>
<author>
<name>Yoshinori Sato</name>
<email>ysato@users.sourceforge.jp</email>
</author>
<published>2008-07-09T16:20:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=6e80f5e8c4c685eb7bc34c3916e3d986b03f9981'/>
<id>urn:sha1:6e80f5e8c4c685eb7bc34c3916e3d986b03f9981</id>
<content type='text'>
This patch is

By sh2
- Remove duplicate code
- Reduce stack usage
- Cleanup and little optimize

By sh2a
- Add missing handler(256 to 511)
- Use sh2a instructions handler

Signed-off-by: Yoshinori Sato &lt;ysato@users.sourceforge.jp&gt;
Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
</entry>
<entry>
<title>sh: Fix up the address error exception handler for SH-2.</title>
<updated>2008-03-13T10:43:07+00:00</updated>
<author>
<name>Kieran Bingham</name>
<email>kbingham@mpc-data.co.uk</email>
</author>
<published>2008-03-13T10:43:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=6c0602b8dd4b41c078b52ed8ea97023970781744'/>
<id>urn:sha1:6c0602b8dd4b41c078b52ed8ea97023970781744</id>
<content type='text'>
Presently the SH-2/SH-2A address error exception dispatch copies off the
register state from the stack and skips over the first register, skewing
the rest. Fix up the math here so that the proper register state is
handed down to the exception handler itself.

Signed-off-by: Kieran Bingham &lt;kbingham@mpc-data.co.uk&gt;
Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
</entry>
<entry>
<title>sh: SH-2A FPU support.</title>
<updated>2008-01-28T04:18:57+00:00</updated>
<author>
<name>Paul Mundt</name>
<email>lethal@linux-sh.org</email>
</author>
<published>2007-11-26T11:38:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=74d99a5e262229ee865f6f68528d10b82471ead6'/>
<id>urn:sha1:74d99a5e262229ee865f6f68528d10b82471ead6</id>
<content type='text'>
Signed-off-by: Kieran Bingham &lt;kbingham@mpc-data.co.uk&gt;
Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
</entry>
<entry>
<title>sh: Share bug/debug traps across _32 and _64.</title>
<updated>2008-01-28T04:18:50+00:00</updated>
<author>
<name>Paul Mundt</name>
<email>lethal@linux-sh.org</email>
</author>
<published>2007-11-20T09:08:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=5a4f7c66be981c6b5f44a4d66a14ea6ac9b7b6b0'/>
<id>urn:sha1:5a4f7c66be981c6b5f44a4d66a14ea6ac9b7b6b0</id>
<content type='text'>
Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
</entry>
<entry>
<title>sh: Fixup misaligned data for sh2 lockdep.</title>
<updated>2007-06-11T06:33:44+00:00</updated>
<author>
<name>Paul Mundt</name>
<email>lethal@linux-sh.org</email>
</author>
<published>2007-06-11T06:33:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=9f9a5de4669902f80b6664baeba01595ffce3597'/>
<id>urn:sha1:9f9a5de4669902f80b6664baeba01595ffce3597</id>
<content type='text'>
lockdep/irqflags tracing on SH-2 ends up with a misaligned
branch, fix it.

Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
</entry>
<entry>
<title>sh: Fix bogus regs pointer in do_IRQ().</title>
<updated>2007-03-14T04:03:35+00:00</updated>
<author>
<name>Paul Mundt</name>
<email>lethal@linux-sh.org</email>
</author>
<published>2007-03-14T04:03:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=3afb209a43a4216ad4f1411922d47a44252926c6'/>
<id>urn:sha1:3afb209a43a4216ad4f1411922d47a44252926c6</id>
<content type='text'>
SH-3 and SH-4 were trampling the register, and SH-2 wasn't even
setting it in the first place. This ended up with some rather
broken behaviour in the sysrq show_regs().

Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
</entry>
<entry>
<title>sh: Update SH-2 to use the debug trap jump table.</title>
<updated>2007-02-13T01:54:43+00:00</updated>
<author>
<name>Yoshinori Sato</name>
<email>ysato@users.sourceforge.jp</email>
</author>
<published>2006-12-19T03:10:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=4aa362bbdd801dd971acbe3db479fe871f2fed0b'/>
<id>urn:sha1:4aa362bbdd801dd971acbe3db479fe871f2fed0b</id>
<content type='text'>
Signed-off-by: Yoshinori Sato &lt;ysato@users.sourceforge.jp&gt;
Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
</entry>
</feed>
