aboutsummaryrefslogtreecommitdiffstats
path: root/arch/hexagon/include/asm
diff options
context:
space:
mode:
authorLinas Vepstas <linas@codeaurora.org>2011-10-31 19:54:43 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2011-11-01 10:34:21 -0400
commit0d71e8791f22f6b45c4fc56e7de64f83d7ed0ac7 (patch)
treedbed9857d637d29c54ff5d7d5c8ce07705e569d7 /arch/hexagon/include/asm
parent499236d9db5a349eeab2e9f2791e2d69c2e4ed53 (diff)
Hexagon: kgdb support files
Signed-off-by: Linas Vepstas <linas@codeaurora.org> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Richard Kuo <rkuo@codeaurora.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/hexagon/include/asm')
-rw-r--r--arch/hexagon/include/asm/kgdb.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/arch/hexagon/include/asm/kgdb.h b/arch/hexagon/include/asm/kgdb.h
new file mode 100644
index 000000000000..9e8779702f10
--- /dev/null
+++ b/arch/hexagon/include/asm/kgdb.h
@@ -0,0 +1,43 @@
1/*
2 * arch/hexagon/include/asm/kgdb.h - Hexagon KGDB Support
3 *
4 * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 and
8 * only version 2 as published by the Free Software Foundation.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
18 * 02110-1301, USA.
19 */
20
21#ifndef __HEXAGON_KGDB_H__
22#define __HEXAGON_KGDB_H__
23
24#define BREAK_INSTR_SIZE 4
25#define CACHE_FLUSH_IS_SAFE 1
26#define BUFMAX ((NUMREGBYTES * 2) + 512)
27
28static inline void arch_kgdb_breakpoint(void)
29{
30 asm("trap0(#0xDB)");
31}
32
33/* Registers:
34 * 32 gpr + sa0/1 + lc0/1 + m0/1 + gp + ugp + pred + pc = 42 total.
35 * vm regs = psp+elr+est+badva = 4
36 * syscall+restart = 2 more
37 * so 48 = 42 +4 + 2
38 */
39#define DBG_USER_REGS 42
40#define DBG_MAX_REG_NUM (DBG_USER_REGS + 6)
41#define NUMREGBYTES (DBG_MAX_REG_NUM*4)
42
43#endif /* __HEXAGON_KGDB_H__ */