Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/parisc/include/asm/kgdb.h
26298 views
1
/* SPDX-License-Identifier: GPL-2.0 */
2
/*
3
* PA-RISC KGDB support
4
*
5
* Copyright (c) 2019 Sven Schnelle <[email protected]>
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 __ASSEMBLER__
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
71
72