1/* 2 * Copyright (C) 2015 Yoshinori Sato <ysato@users.sourceforge.jp> 3 * 4 * This file is subject to the terms and conditions of the GNU General Public 5 * License. See the file "COPYING" in the main directory of this archive 6 * for more details. 7 */ 8 9#ifndef _ASM_H8300_KGDB_H 10#define _ASM_H8300_KGDB_H 11 12#define CACHE_FLUSH_IS_SAFE 1 13#define BUFMAX 2048 14 15enum regnames { 16 GDB_ER0, GDB_ER1, GDB_ER2, GDB_ER3, 17 GDB_ER4, GDB_ER5, GDB_ER6, GDB_SP, 18 GDB_CCR, GDB_PC, 19 GDB_CYCLLE, 20#if defined(CONFIG_CPU_H8S) 21 GDB_EXR, 22#endif 23 GDB_TICK, GDB_INST, 24#if defined(CONFIG_CPU_H8S) 25 GDB_MACH, GDB_MACL, 26#endif 27 /* do not change the last entry or anything below! */ 28 GDB_NUMREGBYTES, /* number of registers */ 29}; 30 31#define GDB_SIZEOF_REG sizeof(u32) 32#if defined(CONFIG_CPU_H8300H) 33#define DBG_MAX_REG_NUM (13) 34#elif defined(CONFIG_CPU_H8S) 35#define DBG_MAX_REG_NUM (14) 36#endif 37#define NUMREGBYTES (DBG_MAX_REG_NUM * GDB_SIZEOF_REG) 38 39#define BREAK_INSTR_SIZE 2 40static inline void arch_kgdb_breakpoint(void) 41{ 42 __asm__ __volatile__("trapa #2"); 43} 44 45#endif /* _ASM_H8300_KGDB_H */ 46