aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/pid.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/pid.h')
0 files changed, 0 insertions, 0 deletions
itle='author Atsushi Nemoto <anemo@mba.ocn.ne.jp> 2006-09-28 06:15:33 -0400 committer Ralf Baechle <ralf@linux-mips.org> 2006-10-01 18:16:58 -0400 [MIPS] Stacktrace build-fix and improvement' href='/cgit/cgit.cgi/litmus-rt-ext-res.git/commit/arch/mips/kernel/stacktrace.c?id=23126692e30ec22760e0ef932c3c2fff00d440bb'>23126692e30e
1df0f0ff7e56
23126692e30e
1df0f0ff7e56

2ec220e27f50
1df0f0ff7e56

eea32d4c6e27
1df0f0ff7e56
1df0f0ff7e56



1df0f0ff7e56
ab1b6f03a10b
1df0f0ff7e56
2ec220e27f50





1df0f0ff7e56




2ec220e27f50






1df0f0ff7e56
2ec220e27f50
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
  





                                                           
                         





                                                             
                            






                                                   

                                              
                            
                                                                           





                                                                    

                                                         




                                          

                                                           
                                          
                                                            


                                                          
                       

            

                                      
                    
                                                                 

                                                            
                                                     

                     
                                          
      



                                                            
   
                                                
 





                                                                             




                                                          






                                                   
 
                                        
/*
 * Stack trace management functions
 *
 *  Copyright (C) 2006 Atsushi Nemoto <anemo@mba.ocn.ne.jp>
 */
#include <linux/sched.h>
#include <linux/stacktrace.h>
#include <linux/export.h>
#include <asm/stacktrace.h>

/*
 * Save stack-backtrace addresses into a stack_trace buffer:
 */
static void save_raw_context_stack(struct stack_trace *trace,
	unsigned long reg29)
{
	unsigned long *sp = (unsigned long *)reg29;
	unsigned long addr;

	while (!kstack_end(sp)) {
		addr = *sp++;
		if (__kernel_text_address(addr)) {
			if (trace->skip > 0)
				trace->skip--;
			else
				trace->entries[trace->nr_entries++] = addr;
			if (trace->nr_entries >= trace->max_entries)
				break;
		}
	}
}

static void save_context_stack(struct stack_trace *trace,
	struct task_struct *tsk, struct pt_regs *regs)
{
	unsigned long sp = regs->regs[29];
#ifdef CONFIG_KALLSYMS
	unsigned long ra = regs->regs[31];
	unsigned long pc = regs->cp0_epc;