kgdb.h

来自「linux 内核源代码」· C头文件 代码 · 共 185 行

H
185
字号
/* * File:         include/asm-blackfin/kgdb.h * Based on: * Author:       Sonic Zhang * * Created: * Description: * * Rev:          $Id: kgdb_bfin_linux-2.6.x.patch 4934 2007-02-13 09:32:11Z sonicz $ * * Modified: *               Copyright 2005-2006 Analog Devices Inc. * * Bugs:         Enter bugs at http://blackfin.uclinux.org/ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see the file COPYING, or write * to the Free Software Foundation, Inc., * 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */#ifndef __ASM_BLACKFIN_KGDB_H__#define __ASM_BLACKFIN_KGDB_H__#include <linux/ptrace.h>/* gdb locks */#define KGDB_MAX_NO_CPUS 8/************************************************************************//* BUFMAX defines the maximum number of characters in inbound/outbound buffers*//* at least NUMREGBYTES*2 are needed for register packets *//* Longer buffer is needed to list all threads */#define BUFMAX 2048/* *  Note that this register image is different from *  the register image that Linux produces at interrupt time. *   *  Linux's register image is defined by struct pt_regs in ptrace.h. */enum regnames {  /* Core Registers */  BFIN_R0 = 0,  BFIN_R1,  BFIN_R2,  BFIN_R3,  BFIN_R4,  BFIN_R5,  BFIN_R6,  BFIN_R7,  BFIN_P0,  BFIN_P1,  BFIN_P2,  BFIN_P3,  BFIN_P4,  BFIN_P5,  BFIN_SP,  BFIN_FP,  BFIN_I0,  BFIN_I1,  BFIN_I2,  BFIN_I3,  BFIN_M0,  BFIN_M1,  BFIN_M2,  BFIN_M3,  BFIN_B0,  BFIN_B1,  BFIN_B2,  BFIN_B3,  BFIN_L0,  BFIN_L1,  BFIN_L2,  BFIN_L3,  BFIN_A0_DOT_X,  BFIN_A0_DOT_W,  BFIN_A1_DOT_X,  BFIN_A1_DOT_W,  BFIN_ASTAT,  BFIN_RETS,  BFIN_LC0,  BFIN_LT0,  BFIN_LB0,  BFIN_LC1,  BFIN_LT1,  BFIN_LB1,  BFIN_CYCLES,  BFIN_CYCLES2,  BFIN_USP,  BFIN_SEQSTAT,  BFIN_SYSCFG,  BFIN_RETI,  BFIN_RETX,  BFIN_RETN,  BFIN_RETE,    /* Pseudo Registers */  BFIN_PC,  BFIN_CC,  BFIN_EXTRA1,		/* Address of .text section.  */  BFIN_EXTRA2,		/* Address of .data section.  */  BFIN_EXTRA3,		/* Address of .bss section.  */  BFIN_FDPIC_EXEC,   BFIN_FDPIC_INTERP,  /* MMRs */  BFIN_IPEND,  /* LAST ENTRY SHOULD NOT BE CHANGED.  */  BFIN_NUM_REGS		/* The number of all registers.  */};/* Number of bytes of registers.  */#define NUMREGBYTES BFIN_NUM_REGS*4#define BREAKPOINT() asm("   EXCPT 2;");#define BREAK_INSTR_SIZE       2#define HW_BREAKPOINT_NUM		6/* Instruction watchpoint address control register bits mask */#define WPPWR		0x1#define WPIREN01	0x2#define WPIRINV01	0x4#define WPIAEN0		0x8#define WPIAEN1		0x10#define WPICNTEN0	0x20#define WPICNTEN1	0x40#define EMUSW0		0x80#define EMUSW1		0x100#define WPIREN23	0x200#define WPIRINV23	0x400#define WPIAEN2		0x800#define WPIAEN3		0x1000#define WPICNTEN2	0x2000#define WPICNTEN3	0x4000#define EMUSW2		0x8000#define EMUSW3		0x10000#define WPIREN45	0x20000#define WPIRINV45	0x40000#define WPIAEN4		0x80000#define WPIAEN5		0x100000#define WPICNTEN4	0x200000#define WPICNTEN5	0x400000#define EMUSW4		0x800000#define EMUSW5		0x1000000#define WPAND		0x2000000/* Data watchpoint address control register bits mask */#define WPDREN01	0x1#define WPDRINV01	0x2#define WPDAEN0		0x4#define WPDAEN1		0x8#define WPDCNTEN0	0x10#define WPDCNTEN1	0x20#define WPDSRC0		0xc0#define WPDACC0		0x300#define WPDSRC1		0xc00#define WPDACC1		0x3000/* Watchpoint status register bits mask */#define STATIA0		0x1#define STATIA1		0x2#define STATIA2		0x4#define STATIA3		0x8#define STATIA4		0x10#define STATIA5		0x20#define STATDA0		0x40#define STATDA1		0x80extern void kgdb_print(const char *fmt, ...);extern void init_kgdb_uart(void);#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?