mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-09-04 20:19:47 +08:00 
			
		
		
		
	 eecac38b04
			
		
	
	
		eecac38b04
		
	
	
	
	
		
			
			For lockdep support a reliable stack trace mechanism is needed. This patch adds support in OpenRISC for the stacktrace framework, implemented by a simple unwinder api. The unwinder api supports both framepointer and basic stack tracing. The unwinder is now used to replace the stack_dump() implementation as well. The new traces are inline with other architectures trace format: Call trace: [<c0004448>] show_stack+0x3c/0x58 [<c031c940>] dump_stack+0xa8/0xe4 [<c0008104>] __cpu_up+0x64/0x130 [<c000d268>] bringup_cpu+0x3c/0x178 [<c000d038>] cpuhp_invoke_callback+0xa8/0x1fc [<c000d680>] cpuhp_up_callbacks+0x44/0x14c [<c000e400>] cpu_up+0x14c/0x1bc [<c041da60>] smp_init+0x104/0x15c [<c033843c>] ? kernel_init+0x0/0x140 [<c0415e04>] kernel_init_freeable+0xbc/0x25c [<c033843c>] ? kernel_init+0x0/0x140 [<c0338458>] kernel_init+0x1c/0x140 [<c003a174>] ? schedule_tail+0x18/0xa0 [<c0006b80>] ret_from_fork+0x1c/0x9c Signed-off-by: Stafford Horne <shorne@gmail.com>
		
			
				
	
	
		
			21 lines
		
	
	
		
			557 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			557 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * OpenRISC unwinder.h
 | |
|  *
 | |
|  * Architecture API for unwinding stacks.
 | |
|  *
 | |
|  * Copyright (C) 2017 Stafford Horne <shorne@gmail.com>
 | |
|  *
 | |
|  * This file is licensed under the terms of the GNU General Public License
 | |
|  * version 2.  This program is licensed "as is" without any warranty of any
 | |
|  * kind, whether express or implied.
 | |
|  */
 | |
| 
 | |
| #ifndef __ASM_OPENRISC_UNWINDER_H
 | |
| #define __ASM_OPENRISC_UNWINDER_H
 | |
| 
 | |
| void unwind_stack(void *data, unsigned long *stack,
 | |
| 		  void (*trace)(void *data, unsigned long addr,
 | |
| 				int reliable));
 | |
| 
 | |
| #endif /* __ASM_OPENRISC_UNWINDER_H */
 |