xref: /haiku/src/system/kernel/arch/riscv64/arch_user_debugger.cpp (revision c085f3863924bb32c6b250e1b9697a39688effef)
1*c085f386SAlexander von Gluck IV /*
2*c085f386SAlexander von Gluck IV  * Copyright 2019, Adrien Destugues, pulkomandy@pulkomandy.tk.
3*c085f386SAlexander von Gluck IV  * Distributed under the terms of the MIT License.
4*c085f386SAlexander von Gluck IV  */
5*c085f386SAlexander von Gluck IV 
6*c085f386SAlexander von Gluck IV 
7*c085f386SAlexander von Gluck IV #include <debugger.h>
8*c085f386SAlexander von Gluck IV #include <int.h>
9*c085f386SAlexander von Gluck IV #include <thread.h>
10*c085f386SAlexander von Gluck IV #include <arch/user_debugger.h>
11*c085f386SAlexander von Gluck IV 
12*c085f386SAlexander von Gluck IV 
13*c085f386SAlexander von Gluck IV void
14*c085f386SAlexander von Gluck IV arch_clear_team_debug_info(struct arch_team_debug_info *info)
15*c085f386SAlexander von Gluck IV {
16*c085f386SAlexander von Gluck IV }
17*c085f386SAlexander von Gluck IV 
18*c085f386SAlexander von Gluck IV 
19*c085f386SAlexander von Gluck IV void
20*c085f386SAlexander von Gluck IV arch_destroy_team_debug_info(struct arch_team_debug_info *info)
21*c085f386SAlexander von Gluck IV {
22*c085f386SAlexander von Gluck IV 	arch_clear_team_debug_info(info);
23*c085f386SAlexander von Gluck IV }
24*c085f386SAlexander von Gluck IV 
25*c085f386SAlexander von Gluck IV 
26*c085f386SAlexander von Gluck IV void
27*c085f386SAlexander von Gluck IV arch_clear_thread_debug_info(struct arch_thread_debug_info *info)
28*c085f386SAlexander von Gluck IV {
29*c085f386SAlexander von Gluck IV }
30*c085f386SAlexander von Gluck IV 
31*c085f386SAlexander von Gluck IV 
32*c085f386SAlexander von Gluck IV void
33*c085f386SAlexander von Gluck IV arch_destroy_thread_debug_info(struct arch_thread_debug_info *info)
34*c085f386SAlexander von Gluck IV {
35*c085f386SAlexander von Gluck IV 	arch_clear_thread_debug_info(info);
36*c085f386SAlexander von Gluck IV }
37*c085f386SAlexander von Gluck IV 
38*c085f386SAlexander von Gluck IV 
39*c085f386SAlexander von Gluck IV void
40*c085f386SAlexander von Gluck IV arch_update_thread_single_step()
41*c085f386SAlexander von Gluck IV {
42*c085f386SAlexander von Gluck IV }
43*c085f386SAlexander von Gluck IV 
44*c085f386SAlexander von Gluck IV 
45*c085f386SAlexander von Gluck IV void
46*c085f386SAlexander von Gluck IV arch_set_debug_cpu_state(const debug_cpu_state *cpuState)
47*c085f386SAlexander von Gluck IV {
48*c085f386SAlexander von Gluck IV }
49*c085f386SAlexander von Gluck IV 
50*c085f386SAlexander von Gluck IV 
51*c085f386SAlexander von Gluck IV void
52*c085f386SAlexander von Gluck IV arch_get_debug_cpu_state(debug_cpu_state *cpuState)
53*c085f386SAlexander von Gluck IV {
54*c085f386SAlexander von Gluck IV }
55*c085f386SAlexander von Gluck IV 
56*c085f386SAlexander von Gluck IV 
57*c085f386SAlexander von Gluck IV status_t
58*c085f386SAlexander von Gluck IV arch_get_thread_debug_cpu_state(Thread* thread, debug_cpu_state* cpuState)
59*c085f386SAlexander von Gluck IV {
60*c085f386SAlexander von Gluck IV 	return B_UNSUPPORTED;
61*c085f386SAlexander von Gluck IV }
62*c085f386SAlexander von Gluck IV 
63*c085f386SAlexander von Gluck IV 
64*c085f386SAlexander von Gluck IV status_t
65*c085f386SAlexander von Gluck IV arch_set_breakpoint(void *address)
66*c085f386SAlexander von Gluck IV {
67*c085f386SAlexander von Gluck IV 	return B_ERROR;
68*c085f386SAlexander von Gluck IV }
69*c085f386SAlexander von Gluck IV 
70*c085f386SAlexander von Gluck IV 
71*c085f386SAlexander von Gluck IV status_t
72*c085f386SAlexander von Gluck IV arch_clear_breakpoint(void *address)
73*c085f386SAlexander von Gluck IV {
74*c085f386SAlexander von Gluck IV 	return B_ERROR;
75*c085f386SAlexander von Gluck IV }
76*c085f386SAlexander von Gluck IV 
77*c085f386SAlexander von Gluck IV 
78*c085f386SAlexander von Gluck IV status_t
79*c085f386SAlexander von Gluck IV arch_set_watchpoint(void *address, uint32 type, int32 length)
80*c085f386SAlexander von Gluck IV {
81*c085f386SAlexander von Gluck IV 	return B_ERROR;
82*c085f386SAlexander von Gluck IV }
83*c085f386SAlexander von Gluck IV 
84*c085f386SAlexander von Gluck IV 
85*c085f386SAlexander von Gluck IV status_t
86*c085f386SAlexander von Gluck IV arch_clear_watchpoint(void *address)
87*c085f386SAlexander von Gluck IV {
88*c085f386SAlexander von Gluck IV 	return B_ERROR;
89*c085f386SAlexander von Gluck IV }
90*c085f386SAlexander von Gluck IV 
91*c085f386SAlexander von Gluck IV bool
92*c085f386SAlexander von Gluck IV arch_has_breakpoints(struct arch_team_debug_info *info)
93*c085f386SAlexander von Gluck IV {
94*c085f386SAlexander von Gluck IV 	return false;
95*c085f386SAlexander von Gluck IV }
96