<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/arch/arc/kernel/entry.S, branch v4.5</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v4.5</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v4.5'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2015-11-14T07:42:20Z</updated>
<entry>
<title>ARC: [arcompact] Handle bus error from userspace as Interrupt not exception</title>
<updated>2015-11-14T07:42:20Z</updated>
<author>
<name>Vineet Gupta</name>
<email>vgupta@synopsys.com</email>
</author>
<published>2015-10-30T19:52:51Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=541366da6a93f52f468b408ba24ab6bb5e4fd3d8'/>
<id>urn:sha1:541366da6a93f52f468b408ba24ab6bb5e4fd3d8</id>
<content type='text'>
Bus errors from userspace on ARCompact based cores are handled by core
as a high priority L2 interrupt but current code treated it as interrupt
Handling an interrupt like exception is certainly not going to go unnoticed.
(and it worked so far as we never saw a Bus error from userspace until
IPPK guys tested a DDR controller with ECC error detection etc hence
needed to explicitly trigger/handle such errors)

 - So move mem_service exception handler from common code into ARCv2 code.
 - In ARCompact code, define  mem_service as L2 interrupt handler which
   just drops down to pure kernel mode and goes of to enqueue SIGBUS

Reported-by: Nelson Pereira &lt;npereira@synopsys.com&gt;
Tested-by: Ana Martins &lt;amartins@synopsys.com&gt;
Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARC: change some branchs to jumps to resolve linkage errors</title>
<updated>2015-08-20T13:23:15Z</updated>
<author>
<name>Yuriy Kolerov</name>
<email>yuriy.kolerov@synopsys.com</email>
</author>
<published>2015-08-12T14:23:32Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=6de6066c0d24a66df465cf87a4041ef7ef35ba6f'/>
<id>urn:sha1:6de6066c0d24a66df465cf87a4041ef7ef35ba6f</id>
<content type='text'>
When kernel's binary becomes large enough (32M and more) errors
may occur during the final linkage stage. It happens because
the build system uses short relocations for ARC  by default.
This problem may be easily resolved by passing -mlong-calls
option to GCC to use long absolute jumps (j) instead of short
relative branchs (b).

But there are fragments of pure assembler code exist which use
branchs in inappropriate places and cause a linkage error because
of relocations overflow.

First of these fragments is .fixup insertion in futex.h and
unaligned.c. It inserts a code in the separate section (.fixup)
with branch instruction. It leads to the linkage error when
kernel becomes large.

Second of these fragments is calling scheduler's functions
(common kernel code) from entry.S of ARC's code. When kernel's
binary becomes large it may lead to the linkage error because
scheduler may occur far enough from ARC's code in the final
binary.

Signed-off-by: Yuriy Kolerov &lt;yuriy.kolerov@synopsys.com&gt;
Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARC: entry.S: micro-optimize Trap handler</title>
<updated>2015-06-19T12:39:39Z</updated>
<author>
<name>Vineet Gupta</name>
<email>vgupta@synopsys.com</email>
</author>
<published>2015-03-13T06:20:23Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=62fb64034d30293448de10a48c7ee47ee978e338'/>
<id>urn:sha1:62fb64034d30293448de10a48c7ee47ee978e338</id>
<content type='text'>
Elide the need to re-read ECR in Trap handler by ensuring that
EXCEPTION_PROLOGUE does that at the very end just before returning
to Trap handler

ARCv2 EXCEPTION_PROLOGUE already did that, so same for ARcompact and the
common trap handler adjusted to use cached ECR

Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARC: entry.S: move some code around for cache locality in return path</title>
<updated>2015-06-19T12:39:38Z</updated>
<author>
<name>Vineet Gupta</name>
<email>vgupta@synopsys.com</email>
</author>
<published>2015-03-10T13:43:07Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c7e6d7920409c11f158ac5d38bdd08062bf16978'/>
<id>urn:sha1:c7e6d7920409c11f158ac5d38bdd08062bf16978</id>
<content type='text'>
Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARC: entry.S: split into ARCompact ISA specific, common bits</title>
<updated>2015-06-19T12:39:38Z</updated>
<author>
<name>Vineet Gupta</name>
<email>vgupta@synopsys.com</email>
</author>
<published>2015-02-21T09:39:32Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=6d1a20b1d237db29878ae54142e39c87a36d0e95'/>
<id>urn:sha1:6d1a20b1d237db29878ae54142e39c87a36d0e95</id>
<content type='text'>
Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARC: entry.S: Ensure that restore_regs is local to compilation unit</title>
<updated>2015-06-19T12:39:37Z</updated>
<author>
<name>Vineet Gupta</name>
<email>vgupta@synopsys.com</email>
</author>
<published>2014-10-13T14:19:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c10d6969b0958e151c9dd6cfae70ce8db9db3c7e'/>
<id>urn:sha1:c10d6969b0958e151c9dd6cfae70ce8db9db3c7e</id>
<content type='text'>
This fixes the possible link/relo errors, since restore_regs will be
provided by ISA code, but called from ARC common code.
The .L prefix reassures binutils that it will be in same compilation
unit.

Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARC: entry.S: comments cleanup</title>
<updated>2015-06-19T12:39:37Z</updated>
<author>
<name>Vineet Gupta</name>
<email>vgupta@synopsys.com</email>
</author>
<published>2015-02-27T11:15:08Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=4bf4564b27db18c77c82840025fbfdb0e62406cf'/>
<id>urn:sha1:4bf4564b27db18c77c82840025fbfdb0e62406cf</id>
<content type='text'>
Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARC: entry.S: Trap handler to use r10 for syscall vs. brkpt decision</title>
<updated>2015-06-19T12:39:36Z</updated>
<author>
<name>Vineet Gupta</name>
<email>vgupta@synopsys.com</email>
</author>
<published>2015-02-27T11:14:38Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=a8717d280879213eab8383e4a912d99514970e17'/>
<id>urn:sha1:a8717d280879213eab8383e4a912d99514970e17</id>
<content type='text'>
Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARC: entry.S: FAKE_RET_FROM_EXCPN can always use r9</title>
<updated>2015-06-19T12:39:36Z</updated>
<author>
<name>Vineet Gupta</name>
<email>vgupta@synopsys.com</email>
</author>
<published>2015-02-27T11:13:08Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=9b8c7d1e7107c30a50aae27c1f33fe706c8c6c67'/>
<id>urn:sha1:9b8c7d1e7107c30a50aae27c1f33fe706c8c6c67</id>
<content type='text'>
Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARC: entry.S: confine EXCEPTION_* macros to one file</title>
<updated>2015-06-19T12:39:35Z</updated>
<author>
<name>Vineet Gupta</name>
<email>vgupta@synopsys.com</email>
</author>
<published>2014-10-13T08:50:39Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=a615b47dbf0d2cd8ba9ff922addef4e189c627bb'/>
<id>urn:sha1:a615b47dbf0d2cd8ba9ff922addef4e189c627bb</id>
<content type='text'>
Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
</feed>
