diff options
author | K.Prasad <prasad@linux.vnet.ibm.com> | 2010-06-15 11:35:19 +0530 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2010-06-22 19:40:50 +1000 |
commit | 5aae8a53708025d4e718f0d2e7c2f766779ddc71 (patch) | |
tree | d151e2c29e78248cee620cf5094a15316abd17d2 /arch/powerpc/lib | |
parent | f7136c5150c29846d7a1d09109449d96b2f63445 (diff) | |
download | op-kernel-dev-5aae8a53708025d4e718f0d2e7c2f766779ddc71.zip op-kernel-dev-5aae8a53708025d4e718f0d2e7c2f766779ddc71.tar.gz |
powerpc, hw_breakpoints: Implement hw_breakpoints for 64-bit server processors
Implement perf-events based hw-breakpoint interfaces for PowerPC
64-bit server (Book III S) processors. This allows access to a
given location to be used as an event that can be counted or
profiled by the perf_events subsystem.
This is done using the DABR (data breakpoint register), which can
also be used for process debugging via ptrace. When perf_event
hw_breakpoint support is configured in, the perf_event subsystem
manages the DABR and arbitrates access to it, and ptrace then
creates a perf_event when it is requested to set a data breakpoint.
[Adopted suggestions from Paul Mackerras <paulus@samba.org> to
- emulate_step() all system-wide breakpoints and single-step only the
per-task breakpoints
- perform arch-specific cleanup before unregistration through
arch_unregister_hw_breakpoint()
]
Signed-off-by: K.Prasad <prasad@linux.vnet.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/lib')
-rw-r--r-- | arch/powerpc/lib/Makefile | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/powerpc/lib/Makefile b/arch/powerpc/lib/Makefile index 7581dbf..a52ed2e 100644 --- a/arch/powerpc/lib/Makefile +++ b/arch/powerpc/lib/Makefile @@ -20,6 +20,7 @@ obj-$(CONFIG_PPC64) += copypage_64.o copyuser_64.o \ memcpy_64.o usercopy_64.o mem_64.o string.o obj-$(CONFIG_XMON) += sstep.o ldstfp.o obj-$(CONFIG_KPROBES) += sstep.o ldstfp.o +obj-$(CONFIG_HAVE_HW_BREAKPOINT) += sstep.o ldstfp.o ifeq ($(CONFIG_PPC64),y) obj-$(CONFIG_SMP) += locks.o |