Mention branches and keyring.
[releases.git] / include / asm / kgdb.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * PA-RISC KGDB support
4  *
5  * Copyright (c) 2019 Sven Schnelle <svens@stackframe.org>
6  *
7  */
8
9 #ifndef __PARISC_KGDB_H__
10 #define __PARISC_KGDB_H__
11
12 #define BREAK_INSTR_SIZE                4
13 #define PARISC_KGDB_COMPILED_BREAK_INSN 0x3ffc01f
14 #define PARISC_KGDB_BREAK_INSN          0x3ffa01f
15
16
17 #define NUMREGBYTES                     sizeof(struct parisc_gdb_regs)
18 #define BUFMAX                          4096
19
20 #define KGDB_MAX_BREAKPOINTS            40
21
22 #define CACHE_FLUSH_IS_SAFE             1
23
24 #ifndef __ASSEMBLY__
25
26 static inline void arch_kgdb_breakpoint(void)
27 {
28         asm(".word %0" : : "i"(PARISC_KGDB_COMPILED_BREAK_INSN) : "memory");
29 }
30
31 struct parisc_gdb_regs {
32         unsigned long gpr[32];
33         unsigned long sar;
34         unsigned long iaoq_f;
35         unsigned long iasq_f;
36         unsigned long iaoq_b;
37         unsigned long iasq_b;
38         unsigned long eiem;
39         unsigned long iir;
40         unsigned long isr;
41         unsigned long ior;
42         unsigned long ipsw;
43         unsigned long __unused0;
44         unsigned long sr4;
45         unsigned long sr0;
46         unsigned long sr1;
47         unsigned long sr2;
48         unsigned long sr3;
49         unsigned long sr5;
50         unsigned long sr6;
51         unsigned long sr7;
52         unsigned long cr0;
53         unsigned long pid1;
54         unsigned long pid2;
55         unsigned long scrccr;
56         unsigned long pid3;
57         unsigned long pid4;
58         unsigned long cr24;
59         unsigned long cr25;
60         unsigned long cr26;
61         unsigned long cr27;
62         unsigned long cr28;
63         unsigned long cr29;
64         unsigned long cr30;
65
66         u64 fr[32];
67 };
68
69 #endif
70 #endif