linux/arch/csky/abiv2
Guo Ren 28bb030f93 csky/ftrace: Add dynamic function tracer (include graph tracer)
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 <ren_guo@c-sky.com>
2019-04-22 13:44:57 +08:00
..
inc/abi csky: fixup save hi,lo,dspcr regs in switch_stack. 2018-12-31 22:57:27 +08:00
cacheflush.c csky: Cache and TLB routines 2018-10-25 23:36:19 +08:00
fpu.c csky: Process management and Signal 2018-10-26 00:54:13 +08:00
Makefile csky: basic ftrace supported 2018-12-31 23:16:46 +08:00
mcount.S csky/ftrace: Add dynamic function tracer (include graph tracer) 2019-04-22 13:44:57 +08:00
memcmp.S csky: Library functions 2018-10-26 00:54:24 +08:00
memcpy.S csky: fixup remove vdsp implement for kernel. 2018-12-31 22:56:59 +08:00
memmove.S csky: Fixup vdsp&fpu issues in kernel 2019-04-22 13:44:57 +08:00
memset.S csky: Library functions 2018-10-26 00:54:24 +08:00
strcmp.S csky: Library functions 2018-10-26 00:54:24 +08:00
strcpy.S csky: Library functions 2018-10-26 00:54:24 +08:00
strksyms.c csky: Library functions 2018-10-26 00:54:24 +08:00
strlen.S csky: Library functions 2018-10-26 00:54:24 +08:00
sysdep.h csky: Library functions 2018-10-26 00:54:24 +08:00