1/* 2 * Copyright 2007, Fran��ois Revol, revol@free.fr. 3 * Distributed under the terms of the MIT License. 4 * 5 * Copyright 2005, Axel D��rfler, axeld@pinc-softare.de 6 * Distributed under the terms of the MIT License. 7 */ 8 9 10#include <debugger.h> 11#include <int.h> 12#include <thread.h> 13#include <arch/user_debugger.h> 14 15 16#warning M68K: WRITEME 17void 18arch_clear_team_debug_info(struct arch_team_debug_info *info) 19{ 20} 21 22 23void 24arch_destroy_team_debug_info(struct arch_team_debug_info *info) 25{ 26 arch_clear_team_debug_info(info); 27} 28 29 30void 31arch_clear_thread_debug_info(struct arch_thread_debug_info *info) 32{ 33} 34 35 36void 37arch_destroy_thread_debug_info(struct arch_thread_debug_info *info) 38{ 39 arch_clear_thread_debug_info(info); 40} 41 42 43void 44arch_update_thread_single_step() 45{ 46 if (struct iframe* frame = m68k_get_user_iframe()) { 47 Thread* thread = thread_get_current_thread(); 48 49 // set/clear T1 in SR depending on if single stepping is desired 50 // T1 T0 51 // 0 0 no tracing 52 // 0 1 trace on flow 53 // 1 0 single step 54 // 1 1 undef 55 // note 060 and 020(?) only have T1 bit, 56 // but this should be compatible as well. 57 if (thread->debug_info.flags & B_THREAD_DEBUG_SINGLE_STEP) { 58 frame->cpu.sr &= ~(M68K_SR_T_MASK); 59 frame->cpu.sr |= (1 << M68K_SR_T1); 60 } else { 61 frame->cpu.sr &= ~(M68K_SR_T_MASK); 62 } 63 } 64} 65 66 67void 68arch_set_debug_cpu_state(const debug_cpu_state *cpuState) 69{ 70} 71 72 73void 74arch_get_debug_cpu_state(debug_cpu_state *cpuState) 75{ 76} 77 78 79status_t 80arch_get_thread_debug_cpu_state(Thread* thread, debug_cpu_state* cpuState) 81{ 82 return B_UNSUPPORTED; 83} 84 85 86status_t 87arch_set_breakpoint(void *address) 88{ 89 return B_ERROR; 90} 91 92 93status_t 94arch_clear_breakpoint(void *address) 95{ 96 return B_ERROR; 97} 98 99 100status_t 101arch_set_watchpoint(void *address, uint32 type, int32 length) 102{ 103 return B_ERROR; 104} 105 106 107status_t 108arch_clear_watchpoint(void *address) 109{ 110 return B_ERROR; 111} 112 113bool 114arch_has_breakpoints(struct arch_team_debug_info *info) 115{ 116 return false; 117} 118