cregit-Linux how code gets into the kernel

Release 4.14 arch/blackfin/include/asm/kgdb.h

/* Blackfin KGDB header
 *
 * Copyright 2005-2009 Analog Devices Inc.
 *
 * Licensed under the GPL-2 or later.
 */

#ifndef __ASM_BLACKFIN_KGDB_H__

#define __ASM_BLACKFIN_KGDB_H__

#include <linux/ptrace.h>

/*
 * 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


static inline void arch_kgdb_breakpoint(void) { asm("EXCPT 2;"); }

Contributors

PersonTokensPropCommitsCommitProp
Sonic Zhang990.00%150.00%
Mike Frysinger110.00%150.00%
Total10100.00%2100.00%

#define BREAK_INSTR_SIZE 2 #ifdef CONFIG_SMP # define CACHE_FLUSH_IS_SAFE 0 #else # define CACHE_FLUSH_IS_SAFE 1 #endif #define GDB_ADJUSTS_BREAK_OFFSET #define GDB_SKIP_HW_WATCH_TEST #define HW_INST_WATCHPOINT_NUM 6 #define HW_WATCHPOINT_NUM 8 #define TYPE_INST_WATCHPOINT 0 #define TYPE_DATA_WATCHPOINT 1 /* 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_OFFSET 8 #define WPDSRC1 0xc00 #define WPDACC1_OFFSET 12 /* 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 0x80 #endif

Overall Contributors

PersonTokensPropCommitsCommitProp
Sonic Zhang38197.44%350.00%
Mike Frysinger71.79%233.33%
Bob Liu30.77%116.67%
Total391100.00%6100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.