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