Skip to content
Navigation Menu
Toggle navigation
Sign in
In this repository
All GitHub Enterprise
↵
Jump to
↵
No suggested jump to results
In this repository
All GitHub Enterprise
↵
Jump to
↵
In this organization
All GitHub Enterprise
↵
Jump to
↵
In this repository
All GitHub Enterprise
↵
Jump to
↵
Sign in
Reseting focus
You signed in with another tab or window.
Reload
to refresh your session.
You signed out in another tab or window.
Reload
to refresh your session.
You switched accounts on another tab or window.
Reload
to refresh your session.
Dismiss alert
{{ message }}
mariux64
/
linux
Public
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Issues
2
Pull requests
0
Actions
Projects
0
Wiki
Security
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Wiki
Security
Insights
Files
7ca8b9c
Documentation
arch
alpha
arm
avr32
blackfin
cris
frv
boot
include/asm
Kbuild
asm-offsets.h
atomic.h
auxvec.h
ax88796.h
bitops.h
bitsperlong.h
bug.h
bugs.h
busctl-regs.h
byteorder.h
cache.h
cacheflush.h
checksum.h
cpu-irqs.h
cpumask.h
cputime.h
current.h
delay.h
device.h
div64.h
dm9000.h
dma-mapping.h
dma.h
elf.h
emergency-restart.h
errno.h
fb.h
fcntl.h
fpu.h
ftrace.h
futex.h
gdb-stub.h
gpio-regs.h
hardirq.h
highmem.h
hw_irq.h
io.h
ioctl.h
ioctls.h
ipcbuf.h
irc-regs.h
irq.h
irq_regs.h
kdebug.h
kmap_types.h
linkage.h
local.h
math-emu.h
mb-regs.h
mb86943a.h
mb93091-fpga-irqs.h
mb93093-fpga-irqs.h
mb93493-irqs.h
mb93493-regs.h
mc146818rtc.h
mem-layout.h
mman.h
mmu.h
mmu_context.h
module.h
msgbuf.h
mutex.h
page.h
param.h
pci.h
percpu.h
perf_event.h
pgalloc.h
pgtable.h
poll.h
posix_types.h
processor.h
ptrace.h
registers.h
resource.h
scatterlist.h
sections.h
segment.h
sembuf.h
serial-regs.h
serial.h
setup.h
shmbuf.h
shmparam.h
sigcontext.h
siginfo.h
signal.h
smp.h
socket.h
sockios.h
spinlock.h
spr-regs.h
stat.h
statfs.h
string.h
suspend.h
swab.h
syscall.h
system.h
termbits.h
termios.h
thread_info.h
timer-regs.h
timex.h
tlb.h
tlbflush.h
topology.h
types.h
uaccess.h
ucontext.h
unaligned.h
unistd.h
user.h
vga.h
virtconvert.h
xor.h
kernel
lib
mb93090-mb00
mm
Kconfig
Kconfig.debug
Makefile
defconfig
h8300
ia64
m32r
m68k
m68knommu
microblaze
mips
mn10300
parisc
powerpc
s390
score
sh
sparc
um
x86
xtensa
.gitignore
Kconfig
block
crypto
drivers
firmware
fs
include
init
ipc
kernel
lib
mm
net
samples
scripts
security
sound
tools
usr
virt
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
MAINTAINERS
Makefile
README
REPORTING-BUGS
Breadcrumbs
linux
/
arch
/
frv
/
include
/
asm
/
gdb-stub.h
Copy path
Blame
Blame
Latest commit
History
History
146 lines (126 loc) · 4.47 KB
Breadcrumbs
linux
/
arch
/
frv
/
include
/
asm
/
gdb-stub.h
Top
File metadata and controls
Code
Blame
146 lines (126 loc) · 4.47 KB
Raw
/* gdb-stub.h: FRV GDB stub * * Copyright (C) 2003 Red Hat, Inc. All Rights Reserved. * Written by David Howells (dhowells@redhat.com) * - Derived from asm-mips/gdb-stub.h (c) 1995 Andreas Busse * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version * 2 of the License, or (at your option) any later version. */ #ifndef __ASM_GDB_STUB_H #define __ASM_GDB_STUB_H #undef GDBSTUB_DEBUG_IO #undef GDBSTUB_DEBUG_PROTOCOL #include <asm/ptrace.h> /* * important register numbers in GDB protocol * - GR0, GR1, GR2, GR3, GR4, GR5, GR6, GR7, * - GR8, GR9, GR10, GR11, GR12, GR13, GR14, GR15, * - GR16, GR17, GR18, GR19, GR20, GR21, GR22, GR23, * - GR24, GR25, GR26, GR27, GR28, GR29, GR30, GR31, * - GR32, GR33, GR34, GR35, GR36, GR37, GR38, GR39, * - GR40, GR41, GR42, GR43, GR44, GR45, GR46, GR47, * - GR48, GR49, GR50, GR51, GR52, GR53, GR54, GR55, * - GR56, GR57, GR58, GR59, GR60, GR61, GR62, GR63, * - FR0, FR1, FR2, FR3, FR4, FR5, FR6, FR7, * - FR8, FR9, FR10, FR11, FR12, FR13, FR14, FR15, * - FR16, FR17, FR18, FR19, FR20, FR21, FR22, FR23, * - FR24, FR25, FR26, FR27, FR28, FR29, FR30, FR31, * - FR32, FR33, FR34, FR35, FR36, FR37, FR38, FR39, * - FR40, FR41, FR42, FR43, FR44, FR45, FR46, FR47, * - FR48, FR49, FR50, FR51, FR52, FR53, FR54, FR55, * - FR56, FR57, FR58, FR59, FR60, FR61, FR62, FR63, * - PC, PSR, CCR, CCCR, * - _X132, _X133, _X134 * - TBR, BRR, DBAR0, DBAR1, DBAR2, DBAR3, * - SCR0, SCR1, SCR2, SCR3, * - LR, LCR, * - IACC0H, IACC0L, * - FSR0, * - ACC0, ACC1, ACC2, ACC3, ACC4, ACC5, ACC6, ACC7, * - ACCG0123, ACCG4567, * - MSR0, MSR1, * - GNER0, GNER1, * - FNER0, FNER1, */ #define GDB_REG_GR(N) (N) #define GDB_REG_FR(N) (64+(N)) #define GDB_REG_PC 128 #define GDB_REG_PSR 129 #define GDB_REG_CCR 130 #define GDB_REG_CCCR 131 #define GDB_REG_TBR 135 #define GDB_REG_BRR 136 #define GDB_REG_DBAR(N) (137+(N)) #define GDB_REG_SCR(N) (141+(N)) #define GDB_REG_LR 145 #define GDB_REG_LCR 146 #define GDB_REG_FSR0 149 #define GDB_REG_ACC(N) (150+(N)) #define GDB_REG_ACCG(N) (158+(N)/4) #define GDB_REG_MSR(N) (160+(N)) #define GDB_REG_GNER(N) (162+(N)) #define GDB_REG_FNER(N) (164+(N)) #define GDB_REG_SP GDB_REG_GR(1) #define GDB_REG_FP GDB_REG_GR(2) #ifndef _LANGUAGE_ASSEMBLY /* * Prototypes */ extern void show_registers_only(struct pt_regs *regs); extern void gdbstub_init(void); extern void gdbstub(int type); extern void gdbstub_exit(int status); extern void gdbstub_io_init(void); extern void gdbstub_set_baud(unsigned baud); extern int gdbstub_rx_char(unsigned char *_ch, int nonblock); extern void gdbstub_tx_char(unsigned char ch); extern void gdbstub_tx_flush(void); extern void gdbstub_do_rx(void); extern asmlinkage void __debug_stub_init_break(void); extern asmlinkage void __break_hijack_kernel_event(void); extern asmlinkage void __break_hijack_kernel_event_breaks_here(void); extern asmlinkage void gdbstub_rx_handler(void); extern asmlinkage void gdbstub_rx_irq(void); extern asmlinkage void gdbstub_intercept(void); extern uint32_t __entry_usertrap_table[]; extern uint32_t __entry_kerneltrap_table[]; extern volatile u8 gdbstub_rx_buffer[PAGE_SIZE]; extern volatile u32 gdbstub_rx_inp; extern volatile u32 gdbstub_rx_outp; extern volatile u8 gdbstub_rx_overflow; extern u8 gdbstub_rx_unget; extern void gdbstub_printk(const char *fmt, ...); extern void debug_to_serial(const char *p, int n); extern void console_set_baud(unsigned baud); #ifdef GDBSTUB_DEBUG_IO #define gdbstub_io(FMT,...) gdbstub_printk(FMT, ##__VA_ARGS__) #else #define gdbstub_io(FMT,...) ({ 0; }) #endif #ifdef GDBSTUB_DEBUG_PROTOCOL #define gdbstub_proto(FMT,...) gdbstub_printk(FMT,##__VA_ARGS__) #else #define gdbstub_proto(FMT,...) ({ 0; }) #endif /* * we dedicate GR31 to keeping a pointer to the gdbstub exception frame * - gr31 is destroyed on entry to the gdbstub if !MMU * - gr31 is saved in scr3 on entry to the gdbstub if in !MMU */ register struct frv_frame0 *__debug_frame0 asm("gr31"); #define __debug_frame (&__debug_frame0->regs) #define __debug_user_context (&__debug_frame0->uc) #define __debug_regs (&__debug_frame0->debug) #define __debug_reg(X) ((unsigned long *) ((unsigned long) &__debug_frame0 + (X))) struct frv_debug_status { unsigned long bpsr; unsigned long dcr; unsigned long brr; unsigned long nmar; }; extern struct frv_debug_status __debug_status; #endif /* _LANGUAGE_ASSEMBLY */ #endif /* __ASM_GDB_STUB_H */
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
You can’t perform that action at this time.