<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-dev/arch/csky/abiv2/mcount.S, branch linus/master</title>
<subtitle>Linux kernel development work - see feature branches</subtitle>
<id>https://git.zx2c4.com/linux-dev/atom/arch/csky/abiv2/mcount.S?h=linus%2Fmaster</id>
<link rel='self' href='https://git.zx2c4.com/linux-dev/atom/arch/csky/abiv2/mcount.S?h=linus%2Fmaster'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/'/>
<updated>2020-07-31T01:51:57Z</updated>
<entry>
<title>csky: Fixup kprobes handler couldn't change pc</title>
<updated>2020-07-31T01:51:57Z</updated>
<author>
<name>Guo Ren</name>
<email>guoren@linux.alibaba.com</email>
</author>
<published>2020-07-28T16:25:23Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=a5447fb9b32eb33b2f0f09a63e4852b46af5b056'/>
<id>urn:sha1:a5447fb9b32eb33b2f0f09a63e4852b46af5b056</id>
<content type='text'>
The "Changing Execution Path" section in the Documentation/kprobes.txt
said:

Since kprobes can probe into a running kernel code, it can change the
register set, including instruction pointer.

Signed-off-by: Guo Ren &lt;guoren@linux.alibaba.com&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
</content>
</entry>
<entry>
<title>csky/ftrace: Fixup error when disable CONFIG_DYNAMIC_FTRACE</title>
<updated>2020-05-13T09:55:05Z</updated>
<author>
<name>Guo Ren</name>
<email>guoren@linux.alibaba.com</email>
</author>
<published>2020-04-08T09:47:33Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=a13d5887ffaf128c955432cd6005cd12d50f9124'/>
<id>urn:sha1:a13d5887ffaf128c955432cd6005cd12d50f9124</id>
<content type='text'>
When CONFIG_DYNAMIC_FTRACE is enabled, static ftrace will fail to
boot up and compile. It's a carelessness when developing "dynamic
ftrace" and "ftrace with regs".

Signed-off-by: Guo Ren &lt;guoren@linux.alibaba.com&gt;
</content>
</entry>
<entry>
<title>csky: Implement ftrace with regs</title>
<updated>2020-03-08T12:55:14Z</updated>
<author>
<name>Guo Ren</name>
<email>guoren@linux.alibaba.com</email>
</author>
<published>2020-02-18T12:27:39Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=89a3927a775c0a7212e2e3c4e2d42cd48895bee0'/>
<id>urn:sha1:89a3927a775c0a7212e2e3c4e2d42cd48895bee0</id>
<content type='text'>
This patch implements FTRACE_WITH_REGS for csky, which allows a traced
function's arguments (and some other registers) to be captured into a
struct pt_regs, allowing these to be inspected and/or modified.

Signed-off-by: Guo Ren &lt;guoren@linux.alibaba.com&gt;
</content>
</entry>
<entry>
<title>csky/ftrace: Add dynamic function tracer (include graph tracer)</title>
<updated>2019-04-22T05:44:57Z</updated>
<author>
<name>Guo Ren</name>
<email>ren_guo@c-sky.com</email>
</author>
<published>2019-03-01T00:50:36Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=28bb030f93334495ddc64ade0bff18721bf7023d'/>
<id>urn:sha1:28bb030f93334495ddc64ade0bff18721bf7023d</id>
<content type='text'>
Support dynamic ftrace including dynamic graph tracer. Gcc-csky with -pg
will produce call site in every function prologue and we can use these
call site to hook trace function.

gcc with -pg origin call site:
	push	lr
	jbsr	_mcount
	nop32
	nop32

If the (callee - caller)'s offset is in range of bsr instruction, we'll
modify code with:
	push	lr
	bsr	_mcount
	nop32
	nop32
Else if the (callee - caller)'s offset is out of bsr instrunction, we'll
modify code with:
	push	lr
	movih	r26, ...
	ori	r26, ...
	jsr	r26

(r26 is reserved for jsr link reg in csky abiv2 spec.)

Signed-off-by: Guo Ren &lt;ren_guo@c-sky.com&gt;
</content>
</entry>
<entry>
<title>csky: ftrace call graph supported.</title>
<updated>2018-12-31T15:17:23Z</updated>
<author>
<name>Guo Ren</name>
<email>ren_guo@c-sky.com</email>
</author>
<published>2018-12-15T13:04:27Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=d7950be145c84ca5094c52bc1ad1e7f1893d0f19'/>
<id>urn:sha1:d7950be145c84ca5094c52bc1ad1e7f1893d0f19</id>
<content type='text'>
With csky-gcc -pg -mbacktrace, ftrace call graph supported.

Signed-off-by: Guo Ren &lt;ren_guo@c-sky.com&gt;
</content>
</entry>
<entry>
<title>csky: basic ftrace supported</title>
<updated>2018-12-31T15:16:46Z</updated>
<author>
<name>Guo Ren</name>
<email>ren_guo@c-sky.com</email>
</author>
<published>2018-12-09T06:29:59Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=230c77a5e92a29bf21e98ee35e22b0537f61c55b'/>
<id>urn:sha1:230c77a5e92a29bf21e98ee35e22b0537f61c55b</id>
<content type='text'>
When gcc with -pg, it'll add _mcount stub in every function. We need
implement the _mcount in kernel and ftrace depends on stackstrace.

To do: call-graph, dynamic ftrace

Signed-off-by: Guo Ren &lt;ren_guo@c-sky.com&gt;
</content>
</entry>
</feed>
