linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/10] ARM: ftrace: cleanups, Thumb-2, and dynamic ftrace
@ 2010-02-13 19:48 Rabin Vincent
  2010-02-13 19:48 ` [PATCH 01/10] ARM: ftrace: clean up mcount assembly indentation Rabin Vincent
                   ` (10 more replies)
  0 siblings, 11 replies; 46+ messages in thread
From: Rabin Vincent @ 2010-02-13 19:48 UTC (permalink / raw)
  To: linux-arm-kernel

This series contains fixes and improvements to the ARM ftrace support.  It adds
Thumb-2 support and re-implements the dynamic ftrace support.

"ftrace: allow building without frame pointers" and "ftrace: pass KBUILD_CFLAGS
to record_mcount.pl" are non-ARM-specific ftrace patches which are required to
support the ARM functionality.

Cleanups / docs:

  ARM: ftrace: clean up mcount assembly indentation
  ARM: ftrace: document mcount formats

Thumb-2:

  ftrace: allow building without frame pointers
  ARM: ftrace: allow building without frame pointers
  ARM: ftrace: add ENDPROC annotations
  ARM: ftrace: add Thumb-2 support

Dynamic ftrace:

  ftrace: pass KBUILD_CFLAGS to record_mcount.pl
  ARM: ftrace: fix and update dynamic ftrace
  ARM: ftrace: add Thumb-2 support to dynamic ftrace
  ARM: ftrace: enable dynamic ftrace

 Makefile                       |    3 +
 arch/arm/Kconfig               |    2 +
 arch/arm/Kconfig.debug         |    5 +
 arch/arm/include/asm/ftrace.h  |   23 +++++-
 arch/arm/kernel/armksyms.c     |    2 +
 arch/arm/kernel/entry-common.S |  167 ++++++++++++++++++++++++-----------
 arch/arm/kernel/ftrace.c       |  188 +++++++++++++++++++++++++++++----------
 kernel/trace/Kconfig           |    2 +-
 scripts/Makefile.build         |    3 +-
 scripts/recordmcount.pl        |    2 +
 10 files changed, 295 insertions(+), 102 deletions(-)

^ permalink raw reply	[flat|nested] 46+ messages in thread
* [PATCH 06/10] ARM: ftrace: add Thumb-2 support
@ 2010-02-13 19:48 Rabin Vincent
  0 siblings, 0 replies; 46+ messages in thread
From: Rabin Vincent @ 2010-02-13 19:48 UTC (permalink / raw)
  To: linux-arm-kernel

Fix the mcount routines to build and run on a kernel built with the
Thumb-2 instruction set by correcting the following errors using the
fixes suggested by Catalin Marinas:

 - Problem: The following assembler errors appear at the "adr r0,
   ftrace_stub" instruction:

   entry-common.S: Assembler messages:
   entry-common.S:179: Error: invalid immediate for address calculation (value = 0x00000004)

   Fix: The errors don't occur with a non-global symbol, so use one.

 - Problem: The "mov lr, pc" does not set the lsb when storing the pc in
   lr.  The called function returns with "bx lr", and the mode changes
   to ARM.

   Fix: Add a label on the return address and use "adr lr, BSYM(label)".

We don't modify the old mcount because it won't be built when using
Thumb-2.

Cc: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Rabin Vincent <rabin@rab.in>
---
 arch/arm/kernel/entry-common.S |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/arch/arm/kernel/entry-common.S b/arch/arm/kernel/entry-common.S
index c7a8c20..f5e75de 100644
--- a/arch/arm/kernel/entry-common.S
+++ b/arch/arm/kernel/entry-common.S
@@ -167,7 +167,7 @@ ENTRY(__gnu_mcount_nc)
 	stmdb	sp!, {r0-r3, lr}
 	ldr	r0, =ftrace_trace_function
 	ldr	r2, [r0]
-	adr	r0, ftrace_stub
+	adr	r0, .Lftrace_stub
 	cmp	r0, r2
 	bne	gnu_trace
 	ldmia	sp!, {r0-r3, ip, lr}
@@ -177,8 +177,9 @@ gnu_trace:
 	ldr	r1, [sp, #20]			@ lr of instrumented routine
 	mov	r0, lr
 	sub	r0, r0, #MCOUNT_INSN_SIZE
-	mov	lr, pc
+	adr	lr, BSYM(1f)
 	mov	pc, r2
+1:
 	ldmia	sp!, {r0-r3, ip, lr}
 	mov	pc, ip
 ENDPROC(__gnu_mcount_nc)
@@ -213,6 +214,7 @@ ENDPROC(mcount)
 #endif /* CONFIG_DYNAMIC_FTRACE */
 
 ENTRY(ftrace_stub)
+.Lftrace_stub:
 	mov	pc, lr
 ENDPROC(ftrace_stub)
 
-- 
1.7.0

^ permalink raw reply related	[flat|nested] 46+ messages in thread
* [PATCH 00/10] ARM: ftrace: cleanups, Thumb-2, and dynamic ftrace (v2)
@ 2010-03-13  6:49 Rabin Vincent
  2010-03-13  6:49 ` [PATCH 06/10] ARM: ftrace: add Thumb-2 support Rabin Vincent
  0 siblings, 1 reply; 46+ messages in thread
From: Rabin Vincent @ 2010-03-13  6:49 UTC (permalink / raw)
  To: linux-arm-kernel

v2: Fixes as per review comments.  The only code changes are the #error in 0004
and the removal of the #ifdef in 0009.  The rest are comments and commit
message rewording/expansion.

This series contains fixes and improvements to the ARM ftrace support.  It adds
Thumb-2 support and re-implements the dynamic ftrace support.

"ftrace: allow building without frame pointers" and "ftrace: pass KBUILD_CFLAGS
to record_mcount.pl" are non-ARM-specific ftrace patches which are required to
support the ARM functionality.

Cleanups / docs:

  ARM: ftrace: clean up mcount assembly indentation
  ARM: ftrace: document mcount formats

Thumb-2:

  ftrace: allow building without frame pointers
  ARM: ftrace: allow building without frame pointers
  ARM: ftrace: add ENDPROC annotations
  ARM: ftrace: add Thumb-2 support

Dynamic ftrace:

  ftrace: pass KBUILD_CFLAGS to record_mcount.pl
  ARM: ftrace: fix and update dynamic ftrace
  ARM: ftrace: add Thumb-2 support to dynamic ftrace
  ARM: ftrace: enable dynamic ftrace

 Makefile                       |    7 ++
 arch/arm/Kconfig               |    2 +
 arch/arm/Kconfig.debug         |    5 +
 arch/arm/include/asm/ftrace.h  |   20 ++++-
 arch/arm/kernel/armksyms.c     |    2 +
 arch/arm/kernel/entry-common.S |  178 +++++++++++++++++++++++++++-----------
 arch/arm/kernel/ftrace.c       |  188 +++++++++++++++++++++++++++++----------
 kernel/trace/Kconfig           |    2 +-
 scripts/Makefile.build         |    3 +-
 scripts/recordmcount.pl        |    2 +
 10 files changed, 307 insertions(+), 102 deletions(-)

^ permalink raw reply	[flat|nested] 46+ messages in thread

end of thread, other threads:[~2010-04-23 15:37 UTC | newest]

Thread overview: 46+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-02-13 19:48 [PATCH 00/10] ARM: ftrace: cleanups, Thumb-2, and dynamic ftrace Rabin Vincent
2010-02-13 19:48 ` [PATCH 01/10] ARM: ftrace: clean up mcount assembly indentation Rabin Vincent
2010-02-13 20:18   ` Uwe Kleine-König
2010-02-22 18:36   ` Frederic Weisbecker
2010-02-13 19:48 ` [PATCH 02/10] ARM: ftrace: document mcount formats Rabin Vincent
2010-02-13 20:37   ` Uwe Kleine-König
2010-02-22 18:06     ` Rabin Vincent
2010-02-22 19:20       ` Uwe Kleine-König
2010-02-23 19:42         ` Rabin Vincent
2010-02-23 20:27           ` Uwe Kleine-König
2010-02-22 18:41   ` Frederic Weisbecker
2010-02-13 19:48 ` [PATCH 03/10] ftrace: allow building without frame pointers Rabin Vincent
2010-02-22 18:36   ` Frederic Weisbecker
2010-02-23 13:44   ` Steven Rostedt
2010-02-13 19:48 ` [PATCH 04/10] ARM: " Rabin Vincent
2010-02-22 19:05   ` Frederic Weisbecker
2010-02-23 13:18     ` Steven Rostedt
2010-02-23 17:11       ` Frederic Weisbecker
2010-02-23 17:58         ` Rabin Vincent
2010-02-23 18:03           ` Steven Rostedt
2010-02-23 18:41             ` Rabin Vincent
2010-02-23 13:47   ` Steven Rostedt
2010-02-13 19:48 ` [PATCH 05/10] ARM: ftrace: add ENDPROC annotations Rabin Vincent
2010-02-13 22:54   ` Catalin Marinas
2010-02-13 19:48 ` [PATCH 06/10] ARM: ftrace: add Thumb-2 support Rabin Vincent
2010-02-13 23:27   ` Catalin Marinas
2010-02-14 16:38     ` Rabin Vincent
2010-02-13 19:48 ` [PATCH 07/10] ftrace: pass KBUILD_CFLAGS to record_mcount.pl Rabin Vincent
2010-02-23 13:30   ` Steven Rostedt
2010-02-23 18:23     ` Rabin Vincent
2010-02-23 18:37       ` Steven Rostedt
2010-02-13 19:48 ` [PATCH 08/10] ARM: ftrace: fix and update dynamic ftrace Rabin Vincent
2010-02-14 11:08   ` Uwe Kleine-König
2010-02-14 15:53     ` Rabin Vincent
2010-02-13 19:48 ` [PATCH 09/10] ARM: ftrace: add Thumb-2 support to " Rabin Vincent
2010-02-23 13:35   ` Steven Rostedt
2010-02-23 17:10     ` Rabin Vincent
2010-02-13 19:48 ` [PATCH 10/10] ARM: ftrace: enable " Rabin Vincent
2010-02-22 18:16 ` [PATCH 00/10] ARM: ftrace: cleanups, Thumb-2, and " Rabin Vincent
  -- strict thread matches above, loose matches on Subject: below --
2010-02-13 19:48 [PATCH 06/10] ARM: ftrace: add Thumb-2 support Rabin Vincent
2010-03-13  6:49 [PATCH 00/10] ARM: ftrace: cleanups, Thumb-2, and dynamic ftrace (v2) Rabin Vincent
2010-03-13  6:49 ` [PATCH 06/10] ARM: ftrace: add Thumb-2 support Rabin Vincent
2010-03-14 22:30   ` Catalin Marinas
2010-03-15 18:32     ` Rabin Vincent
2010-03-16 10:23   ` Catalin Marinas
2010-03-31 18:25     ` Rabin Vincent
2010-04-23 15:37       ` Catalin Marinas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).