Skip to content

Commit

Permalink
ftrace: clean up function graph asm
Browse files Browse the repository at this point in the history
Impact: clean up

There exists macros for x86 asm to handle x86_64 and i386.
This patch updates function graph asm to use them.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Acked-by: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
  • Loading branch information
Steven Rostedt authored and Ingo Molnar committed Dec 3, 2008
1 parent 8789a9e commit 347fdd9
Showing 1 changed file with 4 additions and 16 deletions.
20 changes: 4 additions & 16 deletions arch/x86/kernel/ftrace.c
Original file line number Diff line number Diff line change
Expand Up @@ -467,28 +467,16 @@ void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr)
* ignore such a protection.
*/
asm volatile(
#ifdef CONFIG_X86_64
"1: movq (%[parent_old]), %[old]\n"
"2: movq %[return_hooker], (%[parent_replaced])\n"
#else
"1: movl (%[parent_old]), %[old]\n"
"2: movl %[return_hooker], (%[parent_replaced])\n"
#endif
"1: " _ASM_MOV " (%[parent_old]), %[old]\n"
"2: " _ASM_MOV " %[return_hooker], (%[parent_replaced])\n"
" movl $0, %[faulted]\n"

".section .fixup, \"ax\"\n"
"3: movl $1, %[faulted]\n"
".previous\n"

".section __ex_table, \"a\"\n"
#ifdef CONFIG_X86_64
" .quad 1b, 3b\n"
" .quad 2b, 3b\n"
#else
" .long 1b, 3b\n"
" .long 2b, 3b\n"
#endif
".previous\n"
_ASM_EXTABLE(1b, 3b)
_ASM_EXTABLE(2b, 3b)

: [parent_replaced] "=r" (parent), [old] "=r" (old),
[faulted] "=r" (faulted)
Expand Down

0 comments on commit 347fdd9

Please sign in to comment.