2017-06-05 02:02:04 +02:00
|
|
|
/*
|
2019-05-03 21:06:10 +02:00
|
|
|
* This file is part of Luma3DS.
|
2019-02-24 18:04:32 -07:00
|
|
|
* Copyright (C) 2016-2019 Aurora Wright, TuxSH
|
2017-06-05 02:02:04 +02:00
|
|
|
*
|
2019-05-03 21:06:10 +02:00
|
|
|
* SPDX-License-Identifier: (MIT OR GPL-2.0-or-later)
|
2017-06-05 02:02:04 +02:00
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "gdb.h"
|
|
|
|
|
|
|
|
|
|
typedef enum WatchpointKind
|
|
|
|
|
{
|
|
|
|
|
WATCHPOINT_DISABLED = 0,
|
|
|
|
|
WATCHPOINT_READ,
|
|
|
|
|
WATCHPOINT_WRITE,
|
|
|
|
|
WATCHPOINT_READWRITE
|
|
|
|
|
} WatchpointKind;
|
|
|
|
|
|
|
|
|
|
void GDB_ResetWatchpoints(void); // needed for software breakpoints to be detected as debug events as well
|
|
|
|
|
|
|
|
|
|
int GDB_AddWatchpoint(GDBContext *ctx, u32 address, u32 size, WatchpointKind kind);
|
|
|
|
|
int GDB_RemoveWatchpoint(GDBContext *ctx, u32 address, WatchpointKind kind);
|
|
|
|
|
|
|
|
|
|
WatchpointKind GDB_GetWatchpointKind(GDBContext *ctx, u32 address);
|