1 /* 2 * Copyright (C) 2014 Google, Inc. 3 * Author: Colin Cross <ccross@android.com> 4 * 5 * This software is licensed under the terms of the GNU General Public 6 * License version 2, as published by the Free Software Foundation, and 7 * may be copied, distributed, and modified under those terms. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 */ 15 16 #ifndef _FIQ_DEBUGGER_PRIV_H_ 17 #define _FIQ_DEBUGGER_PRIV_H_ 18 19 #ifndef CONFIG_THREAD_INFO_IN_TASK 20 #define THREAD_INFO(sp) ((struct thread_info *) \ 21 ((unsigned long)(sp) & ~(THREAD_SIZE - 1))) 22 #endif 23 24 struct fiq_debugger_output { 25 void (*printf)(struct fiq_debugger_output *output, const char *fmt, ...); 26 }; 27 28 struct pt_regs; 29 30 void fiq_debugger_dump_pc(struct fiq_debugger_output *output, 31 const struct pt_regs *regs); 32 void fiq_debugger_dump_regs(struct fiq_debugger_output *output, 33 const struct pt_regs *regs); 34 void fiq_debugger_dump_allregs(struct fiq_debugger_output *output, 35 const struct pt_regs *regs); 36 void fiq_debugger_dump_stacktrace(struct fiq_debugger_output *output, 37 const struct pt_regs *regs, unsigned int depth, void *ssp); 38 39 #endif 40