* Copyright 2007, FranΓ§ois Revol, revol@free.fr.
* Distributed under the terms of the MIT License.
*
* Copyright 2005, Axel DΓΆrfler, axeld@pinc-softare.de
* Distributed under the terms of the MIT License.
*/
#include <debugger.h>
#include <interrupts.h>
#include <thread.h>
#include <arch/user_debugger.h>
#warning M68K: WRITEME
void
arch_clear_team_debug_info(struct arch_team_debug_info *info)
{
}
void
arch_destroy_team_debug_info(struct arch_team_debug_info *info)
{
arch_clear_team_debug_info(info);
}
void
arch_clear_thread_debug_info(struct arch_thread_debug_info *info)
{
}
void
arch_destroy_thread_debug_info(struct arch_thread_debug_info *info)
{
arch_clear_thread_debug_info(info);
}
void
arch_update_thread_single_step()
{
if (struct iframe* frame = m68k_get_user_iframe()) {
Thread* thread = thread_get_current_thread();
if (thread->debug_info.flags & B_THREAD_DEBUG_SINGLE_STEP) {
frame->cpu.sr &= ~(M68K_SR_T_MASK);
frame->cpu.sr |= (1 << M68K_SR_T1);
} else {
frame->cpu.sr &= ~(M68K_SR_T_MASK);
}
}
}
void
arch_set_debug_cpu_state(const debug_cpu_state *cpuState)
{
}
void
arch_get_debug_cpu_state(debug_cpu_state *cpuState)
{
}
status_t
arch_get_thread_debug_cpu_state(Thread* thread, debug_cpu_state* cpuState)
{
return B_UNSUPPORTED;
}
status_t
arch_set_breakpoint(void *address)
{
return B_ERROR;
}
status_t
arch_clear_breakpoint(void *address)
{
return B_ERROR;
}
status_t
arch_set_watchpoint(void *address, uint32 type, int32 length)
{
return B_ERROR;
}
status_t
arch_clear_watchpoint(void *address)
{
return B_ERROR;
}
bool
arch_has_breakpoints(struct arch_team_debug_info *info)
{
return false;
}