Merge tag 'for-5.8/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device...
[linux/fpc-iii.git] / arch / parisc / include / asm / kgdb.h
blobf23e7f8f13a54b5cb97522d1094fda85000988be
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3 * PA-RISC KGDB support
5 * Copyright (c) 2019 Sven Schnelle <svens@stackframe.org>
7 */
9 #ifndef __PARISC_KGDB_H__
10 #define __PARISC_KGDB_H__
12 #define BREAK_INSTR_SIZE 4
13 #define PARISC_KGDB_COMPILED_BREAK_INSN 0x3ffc01f
14 #define PARISC_KGDB_BREAK_INSN 0x3ffa01f
17 #define NUMREGBYTES sizeof(struct parisc_gdb_regs)
18 #define BUFMAX 4096
20 #define CACHE_FLUSH_IS_SAFE 1
22 #ifndef __ASSEMBLY__
24 static inline void arch_kgdb_breakpoint(void)
26 asm(".word %0" : : "i"(PARISC_KGDB_COMPILED_BREAK_INSN) : "memory");
29 struct parisc_gdb_regs {
30 unsigned long gpr[32];
31 unsigned long sar;
32 unsigned long iaoq_f;
33 unsigned long iasq_f;
34 unsigned long iaoq_b;
35 unsigned long iasq_b;
36 unsigned long eiem;
37 unsigned long iir;
38 unsigned long isr;
39 unsigned long ior;
40 unsigned long ipsw;
41 unsigned long __unused0;
42 unsigned long sr4;
43 unsigned long sr0;
44 unsigned long sr1;
45 unsigned long sr2;
46 unsigned long sr3;
47 unsigned long sr5;
48 unsigned long sr6;
49 unsigned long sr7;
50 unsigned long cr0;
51 unsigned long pid1;
52 unsigned long pid2;
53 unsigned long scrccr;
54 unsigned long pid3;
55 unsigned long pid4;
56 unsigned long cr24;
57 unsigned long cr25;
58 unsigned long cr26;
59 unsigned long cr27;
60 unsigned long cr28;
61 unsigned long cr29;
62 unsigned long cr30;
64 u64 fr[32];
67 #endif
68 #endif