parisc: Fix ftrace function tracer
Fix the FTRACE function tracer for 32- and 64-bit kernel. The former code was horribly broken. Reimplement most coding in assembly and utilize optimizations, e.g. put mcount() and ftrace_stub() into one L1 cacheline. Signed-off-by: Helge Deller <deller@gmx.de>
This commit is contained in:
@@ -129,6 +129,15 @@ $pgt_fill_loop:
|
||||
/* And the stack pointer too */
|
||||
ldo THREAD_SZ_ALGN(%r6),%sp
|
||||
|
||||
#if defined(CONFIG_64BIT) && defined(CONFIG_FUNCTION_TRACER)
|
||||
.import _mcount,data
|
||||
/* initialize mcount FPTR */
|
||||
/* Get the global data pointer */
|
||||
loadgp
|
||||
load32 PA(_mcount), %r10
|
||||
std %dp,0x18(%r10)
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
/* Set the smp rendezvous address into page zero.
|
||||
** It would be safer to do this in init_smp_config() but
|
||||
|
Reference in New Issue
Block a user