<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/arch/nds32/kernel/traps.c, branch v5.1</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>nds32: nds32 FPU port</title>
<updated>2018-11-22T10:13:13+00:00</updated>
<author>
<name>Vincent Chen</name>
<email>vincentc@andestech.com</email>
</author>
<published>2018-11-22T03:14:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e46bf83c1864a20f9dd17d597ec9be18ed05add8'/>
<id>e46bf83c1864a20f9dd17d597ec9be18ed05add8</id>
<content type='text'>
This patch set contains basic components for supporting the nds32 FPU,
such as exception handlers and context switch for FPU registers. By
default, the lazy FPU scheme is supported and the user can configure it via
CONFIG_LZAY_FPU.

Signed-off-by: Vincent Chen &lt;vincentc@andestech.com&gt;
Acked-by: Greentime Hu &lt;greentime@andestech.com&gt;
Signed-off-by: Greentime Hu &lt;greentime@andestech.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch set contains basic components for supporting the nds32 FPU,
such as exception handlers and context switch for FPU registers. By
default, the lazy FPU scheme is supported and the user can configure it via
CONFIG_LZAY_FPU.

Signed-off-by: Vincent Chen &lt;vincentc@andestech.com&gt;
Acked-by: Greentime Hu &lt;greentime@andestech.com&gt;
Signed-off-by: Greentime Hu &lt;greentime@andestech.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nds32: Only print one page of stack when die to prevent printing too much information.</title>
<updated>2018-09-04T06:45:19+00:00</updated>
<author>
<name>Greentime Hu</name>
<email>greentime@andestech.com</email>
</author>
<published>2018-08-23T06:47:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=487c4b2323b26cfb5fd4d77d3605a92c182b6288'/>
<id>487c4b2323b26cfb5fd4d77d3605a92c182b6288</id>
<content type='text'>
It may print too much information sometimes if the stack is wrong or
too big. This patch can limit the debug information in a page of stack.

Signed-off-by: Greentime Hu &lt;greentime@andestech.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It may print too much information sometimes if the stack is wrong or
too big. This patch can limit the debug information in a page of stack.

Signed-off-by: Greentime Hu &lt;greentime@andestech.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nds32: Add macro definition for offset of lp register on stack</title>
<updated>2018-09-04T06:45:19+00:00</updated>
<author>
<name>Zong Li</name>
<email>zong@andestech.com</email>
</author>
<published>2018-08-20T01:51:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=95f93ed7fe92c16f5346e477491d91e4fa8e92b8'/>
<id>95f93ed7fe92c16f5346e477491d91e4fa8e92b8</id>
<content type='text'>
Use macro to replace the magic number.

Signed-off-by: Zong Li &lt;zong@andestech.com&gt;
Acked-by: Greentime Hu &lt;greentime@andestech.com&gt;
Signed-off-by: Greentime Hu &lt;greentime@andestech.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use macro to replace the magic number.

Signed-off-by: Zong Li &lt;zong@andestech.com&gt;
Acked-by: Greentime Hu &lt;greentime@andestech.com&gt;
Signed-off-by: Greentime Hu &lt;greentime@andestech.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nds32: Remove the deprecated ABI implementation</title>
<updated>2018-09-04T06:45:19+00:00</updated>
<author>
<name>Zong Li</name>
<email>zong@andestech.com</email>
</author>
<published>2018-08-20T01:40:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c5fdf7e00d490dc094a97d287e0fa27e253cca84'/>
<id>c5fdf7e00d490dc094a97d287e0fa27e253cca84</id>
<content type='text'>
We are not using NDS32 ABI 2 for now, just remove the preprocessor
directives __NDS32_ABI_2.

Signed-off-by: Zong Li &lt;zong@andestech.com&gt;
Acked-by: Greentime Hu &lt;greentime@andestech.com&gt;
Signed-off-by: Greentime Hu &lt;greentime@andestech.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We are not using NDS32 ABI 2 for now, just remove the preprocessor
directives __NDS32_ABI_2.

Signed-off-by: Zong Li &lt;zong@andestech.com&gt;
Acked-by: Greentime Hu &lt;greentime@andestech.com&gt;
Signed-off-by: Greentime Hu &lt;greentime@andestech.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nds32/stack: Get real return address by using ftrace_graph_ret_addr</title>
<updated>2018-09-04T06:45:18+00:00</updated>
<author>
<name>Zong Li</name>
<email>zong@andestech.com</email>
</author>
<published>2018-08-15T03:05:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=1e377ae9b04aef4dc531fa4c5f81b65d440ebcba'/>
<id>1e377ae9b04aef4dc531fa4c5f81b65d440ebcba</id>
<content type='text'>
Function graph tracer has modified the return address to
'return_to_handler' on stack, and provide the 'ftrace_graph_ret_addr' to
get the real return address.

Signed-off-by: Zong Li &lt;zong@andestech.com&gt;
Acked-by: Greentime Hu &lt;greentime@andestech.com&gt;
Signed-off-by: Greentime Hu &lt;greentime@andestech.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Function graph tracer has modified the return address to
'return_to_handler' on stack, and provide the 'ftrace_graph_ret_addr' to
get the real return address.

Signed-off-by: Zong Li &lt;zong@andestech.com&gt;
Acked-by: Greentime Hu &lt;greentime@andestech.com&gt;
Signed-off-by: Greentime Hu &lt;greentime@andestech.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nds32: Fix empty call trace</title>
<updated>2018-09-04T06:45:16+00:00</updated>
<author>
<name>Zong Li</name>
<email>zong@andestech.com</email>
</author>
<published>2018-08-13T05:28:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c17df7960534357fb74074c2f514c831d4a9cf5a'/>
<id>c17df7960534357fb74074c2f514c831d4a9cf5a</id>
<content type='text'>
The compiler predefined macro 'NDS32_ABI_2' had been removed, it should
use the '__NDS32_ABI_2' here.

Signed-off-by: Zong Li &lt;zong@andestech.com&gt;
Acked-by: Greentime Hu &lt;greentime@andestech.com&gt;
Signed-off-by: Greentime Hu &lt;greentime@andestech.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The compiler predefined macro 'NDS32_ABI_2' had been removed, it should
use the '__NDS32_ABI_2' here.

Signed-off-by: Zong Li &lt;zong@andestech.com&gt;
Acked-by: Greentime Hu &lt;greentime@andestech.com&gt;
Signed-off-by: Greentime Hu &lt;greentime@andestech.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>signal/nds32: Use force_sig_fault where appropriate</title>
<updated>2018-04-25T15:42:47+00:00</updated>
<author>
<name>Eric W. Biederman</name>
<email>ebiederm@xmission.com</email>
</author>
<published>2018-04-16T19:58:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=d808e918ed1533132c3124be52dfcfcda16a0bf0'/>
<id>d808e918ed1533132c3124be52dfcfcda16a0bf0</id>
<content type='text'>
Filling in struct siginfo before calling force_sig_info a tedious and
error prone process, where once in a great while the wrong fields
are filled out, and siginfo has been inconsistently cleared.

Simplify this process by using the helper force_sig_fault.  Which
takes as a parameters all of the information it needs, ensures
all of the fiddly bits of filling in struct siginfo are done properly
and then calls force_sig_info.

In short about a 5 line reduction in code for every time force_sig_info
is called, which makes the calling function clearer.

Cc: Greentime Hu &lt;green.hu@gmail.com&gt;
Cc: Vincent Chen &lt;deanbo422@gmail.com&gt;
Acked-by: Vincent Chen &lt;deanbo422@gmail.com&gt;
Signed-off-by: "Eric W. Biederman" &lt;ebiederm@xmission.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Filling in struct siginfo before calling force_sig_info a tedious and
error prone process, where once in a great while the wrong fields
are filled out, and siginfo has been inconsistently cleared.

Simplify this process by using the helper force_sig_fault.  Which
takes as a parameters all of the information it needs, ensures
all of the fiddly bits of filling in struct siginfo are done properly
and then calls force_sig_info.

In short about a 5 line reduction in code for every time force_sig_info
is called, which makes the calling function clearer.

Cc: Greentime Hu &lt;green.hu@gmail.com&gt;
Cc: Vincent Chen &lt;deanbo422@gmail.com&gt;
Acked-by: Vincent Chen &lt;deanbo422@gmail.com&gt;
Signed-off-by: "Eric W. Biederman" &lt;ebiederm@xmission.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>signal: Ensure every siginfo we send has all bits initialized</title>
<updated>2018-04-25T15:40:51+00:00</updated>
<author>
<name>Eric W. Biederman</name>
<email>ebiederm@xmission.com</email>
</author>
<published>2018-04-17T20:26:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=3eb0f5193b497083391aa05d35210d5645211eef'/>
<id>3eb0f5193b497083391aa05d35210d5645211eef</id>
<content type='text'>
Call clear_siginfo to ensure every stack allocated siginfo is properly
initialized before being passed to the signal sending functions.

Note: It is not safe to depend on C initializers to initialize struct
siginfo on the stack because C is allowed to skip holes when
initializing a structure.

The initialization of struct siginfo in tracehook_report_syscall_exit
was moved from the helper user_single_step_siginfo into
tracehook_report_syscall_exit itself, to make it clear that the local
variable siginfo gets fully initialized.

In a few cases the scope of struct siginfo has been reduced to make it
clear that siginfo siginfo is not used on other paths in the function
in which it is declared.

Instances of using memset to initialize siginfo have been replaced
with calls clear_siginfo for clarity.

Signed-off-by: "Eric W. Biederman" &lt;ebiederm@xmission.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Call clear_siginfo to ensure every stack allocated siginfo is properly
initialized before being passed to the signal sending functions.

Note: It is not safe to depend on C initializers to initialize struct
siginfo on the stack because C is allowed to skip holes when
initializing a structure.

The initialization of struct siginfo in tracehook_report_syscall_exit
was moved from the helper user_single_step_siginfo into
tracehook_report_syscall_exit itself, to make it clear that the local
variable siginfo gets fully initialized.

In a few cases the scope of struct siginfo has been reduced to make it
clear that siginfo siginfo is not used on other paths in the function
in which it is declared.

Instances of using memset to initialize siginfo have been replaced
with calls clear_siginfo for clarity.

Signed-off-by: "Eric W. Biederman" &lt;ebiederm@xmission.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>signal/nds32: Use force_sig(SIGILL) in do_revisn</title>
<updated>2018-04-25T15:40:33+00:00</updated>
<author>
<name>Eric W. Biederman</name>
<email>ebiederm@xmission.com</email>
</author>
<published>2018-04-17T20:23:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f6ed1ecad56fec7ab5c6bf741064b95801e9688f'/>
<id>f6ed1ecad56fec7ab5c6bf741064b95801e9688f</id>
<content type='text'>
As originally committed do_revisn would deliver a siginfo for SIGILL
with an si_code composed of random stack contents.  That makes no
sense and is not something userspace can depend on.  So simplify
the code and just use "force_sig(SIG_ILL, current)" instead.

Fixes: 2923f5ea7738 ("nds32: Exception handling")
Cc: Vincent Chen &lt;vincentc@andestech.com&gt;
Cc: Greentime Hu &lt;greentime@andestech.com&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: "Eric W. Biederman" &lt;ebiederm@xmission.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As originally committed do_revisn would deliver a siginfo for SIGILL
with an si_code composed of random stack contents.  That makes no
sense and is not something userspace can depend on.  So simplify
the code and just use "force_sig(SIG_ILL, current)" instead.

Fixes: 2923f5ea7738 ("nds32: Exception handling")
Cc: Vincent Chen &lt;vincentc@andestech.com&gt;
Cc: Greentime Hu &lt;greentime@andestech.com&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: "Eric W. Biederman" &lt;ebiederm@xmission.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>signal/nds32: Use force_sig in unhandled_interruption and unhandled_exceptions</title>
<updated>2018-04-25T15:39:49+00:00</updated>
<author>
<name>Eric W. Biederman</name>
<email>ebiederm@xmission.com</email>
</author>
<published>2018-04-17T20:21:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=be5c2ff06c2a30fb694d54b0a100ef4f55e1de3a'/>
<id>be5c2ff06c2a30fb694d54b0a100ef4f55e1de3a</id>
<content type='text'>
Neither unhandled_interrupt nor unhandled_exceptions fills in any of the
siginfo fields whend sending SIGKILL.  Further because it is SIGKILL
even if all of the fields were filled out appropriately it would be impossible
for the process to read any of the siginfo fields.  So simplfy things and
just use force_sig instead of force_sig_info.

Fixes: 2923f5ea7738 ("nds32: Exception handling")
Cc: Vincent Chen &lt;vincentc@andestech.com&gt;
Cc: Greentime Hu &lt;greentime@andestech.com&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Acked-by: Vincent Chen &lt;vincentc@andestech.com&gt;
Signed-off-by: "Eric W. Biederman" &lt;ebiederm@xmission.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Neither unhandled_interrupt nor unhandled_exceptions fills in any of the
siginfo fields whend sending SIGKILL.  Further because it is SIGKILL
even if all of the fields were filled out appropriately it would be impossible
for the process to read any of the siginfo fields.  So simplfy things and
just use force_sig instead of force_sig_info.

Fixes: 2923f5ea7738 ("nds32: Exception handling")
Cc: Vincent Chen &lt;vincentc@andestech.com&gt;
Cc: Greentime Hu &lt;greentime@andestech.com&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Acked-by: Vincent Chen &lt;vincentc@andestech.com&gt;
Signed-off-by: "Eric W. Biederman" &lt;ebiederm@xmission.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
