Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 116146
b: refs/heads/master
c: 9d2b1f8
h: refs/heads/master
v: v3
  • Loading branch information
Paul Mundt committed Sep 21, 2008
1 parent 86b5b4f commit 5f89a0b
Show file tree
Hide file tree
Showing 5 changed files with 55 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 3d58695edbfac785161bf282dc11fd42a483d6c9
refs/heads/master: 9d2b1f81dd93b198e12bca8120afec4a7b609b06
1 change: 1 addition & 0 deletions trunk/arch/sh/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ config SUPERH32
select HAVE_KPROBES
select HAVE_KRETPROBES
select HAVE_ARCH_TRACEHOOK if !SH_FPU
select HAVE_FTRACE

config SUPERH64
def_bool y if CPU_SH5
Expand Down
5 changes: 5 additions & 0 deletions trunk/arch/sh/boot/compressed/Makefile_32
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,11 @@ IMAGE_OFFSET := $(shell /bin/bash -c 'printf "0x%08x" \

LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name)

ifeq ($(CONFIG_FTRACE),y)
ORIG_CFLAGS := $(KBUILD_CFLAGS)
KBUILD_CFLAGS = $(subst -pg, , $(ORIG_CFLAGS))
endif

LDFLAGS_vmlinux := -Ttext $(IMAGE_OFFSET) -e startup -T $(obj)/../../kernel/vmlinux.lds

$(obj)/vmlinux: $(OBJECTS) $(obj)/piggy.o $(LIBGCC) FORCE
Expand Down
44 changes: 44 additions & 0 deletions trunk/arch/sh/kernel/entry-common.S
Original file line number Diff line number Diff line change
Expand Up @@ -371,3 +371,47 @@ syscall_exit:
#endif
7: .long do_syscall_trace_enter
8: .long do_syscall_trace_leave

#ifdef CONFIG_FTRACE
.align 2
.globl _mcount
.type _mcount,@function
.globl mcount
.type mcount,@function
_mcount:
mcount:
mov.l r4, @-r15
mov.l r5, @-r15
mov.l r6, @-r15
mov.l r7, @-r15
sts.l pr, @-r15

mov.l @(20,r15),r4
sts pr, r5

mov.l 1f, r6
mov.l ftrace_stub, r7
cmp/eq r6, r7
bt skip_trace

mov.l @r6, r6
jsr @r6
nop

skip_trace:

lds.l @r15+, pr
mov.l @r15+, r7
mov.l @r15+, r6
mov.l @r15+, r5
rts
mov.l @r15+, r4

.align 2
1: .long ftrace_trace_function

.globl ftrace_stub
ftrace_stub:
rts
nop
#endif /* CONFIG_FTRACE */
4 changes: 4 additions & 0 deletions trunk/arch/sh/kernel/sh_ksyms_32.c
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
#include <asm/delay.h>
#include <asm/tlbflush.h>
#include <asm/cacheflush.h>
#include <asm/ftrace.h>

extern int dump_fpu(struct pt_regs *, elf_fpregset_t *);
extern struct hw_interrupt_type no_irq_type;
Expand Down Expand Up @@ -133,6 +134,9 @@ EXPORT_SYMBOL(__flush_purge_region);
EXPORT_SYMBOL(clear_user_page);
#endif

#ifdef CONFIG_FTRACE
EXPORT_SYMBOL(mcount);
#endif
EXPORT_SYMBOL(csum_partial);
EXPORT_SYMBOL(csum_partial_copy_generic);
#ifdef CONFIG_IPV6
Expand Down

0 comments on commit 5f89a0b

Please sign in to comment.