Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 77454
b: refs/heads/master
c: 7d77ce8
h: refs/heads/master
v: v3
  • Loading branch information
Andrew Victor authored and Russell King committed Jan 26, 2008
1 parent d51a9d9 commit a11d1b1
Show file tree
Hide file tree
Showing 15 changed files with 344 additions and 2,138 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 5de865b4c5af253db19bdae3c0553952dc7eda1d
refs/heads/master: 7d77ce8f67358c6b7708726f8fa230cd58d75b2c
1 change: 0 additions & 1 deletion trunk/Documentation/kprobes.txt
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,6 @@ architectures:
- ppc64
- ia64 (Does not support probes on instruction slot1.)
- sparc64 (Return probes not yet implemented.)
- arm

3. Configuring Kprobes

Expand Down
10 changes: 0 additions & 10 deletions trunk/arch/arm/Kconfig.instrumentation
Original file line number Diff line number Diff line change
Expand Up @@ -43,16 +43,6 @@ config OPROFILE_MPCORE
config OPROFILE_ARM11_CORE
bool

config KPROBES
bool "Kprobes"
depends on KALLSYMS && MODULES && !UML && !XIP_KERNEL
help
Kprobes allows you to trap at almost any kernel address and
execute a callback function. register_kprobe() establishes
a probepoint and specifies the callback. Kprobes is useful
for kernel debugging, non-intrusive instrumentation and testing.
If in doubt, say "N".

config MARKERS
bool "Activate markers"
help
Expand Down
1 change: 0 additions & 1 deletion trunk/arch/arm/kernel/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ obj-$(CONFIG_ISA_DMA) += dma-isa.o
obj-$(CONFIG_PCI) += bios32.o isa.o
obj-$(CONFIG_SMP) += smp.o
obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o
obj-$(CONFIG_KPROBES) += kprobes.o kprobes-decode.o
obj-$(CONFIG_OABI_COMPAT) += sys_oabi-compat.o

obj-$(CONFIG_CRUNCH) += crunch.o crunch-bits.o
Expand Down
21 changes: 4 additions & 17 deletions trunk/arch/arm/kernel/entry-armv.S
Original file line number Diff line number Diff line change
Expand Up @@ -58,12 +58,6 @@

.endm

#ifdef CONFIG_KPROBES
.section .kprobes.text,"ax",%progbits
#else
.text
#endif

/*
* Invalid mode handlers
*/
Expand Down Expand Up @@ -118,16 +112,16 @@ common_invalid:
#define SPFIX(code...)
#endif

.macro svc_entry, stack_hole=0
sub sp, sp, #(S_FRAME_SIZE + \stack_hole)
.macro svc_entry
sub sp, sp, #S_FRAME_SIZE
SPFIX( tst sp, #4 )
SPFIX( bicne sp, sp, #4 )
stmib sp, {r1 - r12}

ldmia r0, {r1 - r3}
add r5, sp, #S_SP @ here for interlock avoidance
mov r4, #-1 @ "" "" "" ""
add r0, sp, #(S_FRAME_SIZE + \stack_hole)
add r0, sp, #S_FRAME_SIZE @ "" "" "" ""
SPFIX( addne r0, r0, #4 )
str r1, [sp] @ save the "real" r0 copied
@ from the exception stack
Expand Down Expand Up @@ -248,14 +242,7 @@ svc_preempt:

.align 5
__und_svc:
#ifdef CONFIG_KPROBES
@ If a kprobe is about to simulate a "stmdb sp..." instruction,
@ it obviously needs free stack space which then will belong to
@ the saved context.
svc_entry 64
#else
svc_entry
#endif

@
@ call emulation code, which returns using r9 if it has emulated
Expand Down Expand Up @@ -568,7 +555,7 @@ do_fpe:
.data
ENTRY(fp_enter)
.word no_fp
.previous
.text

no_fp: mov pc, lr

Expand Down
Loading

0 comments on commit a11d1b1

Please sign in to comment.