summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Blanchard <anton@samba.org>2006-03-27 11:46:18 +1100
committerPaul Mackerras <paulus@samba.org>2006-03-28 16:19:52 +1100
commit2f25194dbe0c4b2472ce133ea3e9bcbb14936ae7 (patch)
tree4bb2a77da578dafd951ff2bd24ff2fd8c61c0b83
parent72533db0121e11811366b5a456f4068d1a4d542c (diff)
downloadlinux-2f25194dbe0c4b2472ce133ea3e9bcbb14936ae7.tar.gz
linux-2f25194dbe0c4b2472ce133ea3e9bcbb14936ae7.tar.bz2
linux-2f25194dbe0c4b2472ce133ea3e9bcbb14936ae7.zip
[PATCH] powerpc: export validate_sp for oprofile calltrace
Export validate_sp so we can use it in the oprofile calltrace code. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
-rw-r--r--arch/powerpc/kernel/process.c4
-rw-r--r--include/asm-powerpc/processor.h4
2 files changed, 7 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c
index c6e81bbd615c..706090c99f47 100644
--- a/arch/powerpc/kernel/process.c
+++ b/arch/powerpc/kernel/process.c
@@ -770,7 +770,7 @@ out:
return error;
}
-static int validate_sp(unsigned long sp, struct task_struct *p,
+int validate_sp(unsigned long sp, struct task_struct *p,
unsigned long nbytes)
{
unsigned long stack_page = (unsigned long)task_stack_page(p);
@@ -808,6 +808,8 @@ static int validate_sp(unsigned long sp, struct task_struct *p,
#define FRAME_MARKER 2
#endif
+EXPORT_SYMBOL(validate_sp);
+
unsigned long get_wchan(struct task_struct *p)
{
unsigned long ip, sp;
diff --git a/include/asm-powerpc/processor.h b/include/asm-powerpc/processor.h
index a64198fcfd02..57643b5b782f 100644
--- a/include/asm-powerpc/processor.h
+++ b/include/asm-powerpc/processor.h
@@ -251,6 +251,10 @@ static inline unsigned long __pack_fe01(unsigned int fpmode)
#define cpu_relax() barrier()
#endif
+/* Check that a certain kernel stack pointer is valid in task_struct p */
+int validate_sp(unsigned long sp, struct task_struct *p,
+ unsigned long nbytes);
+
/*
* Prefetch macros.
*/