RetroArch
|
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <errno.h>
#include <signal.h>
#include "asm.h"
#include "processor.h"
#include "spinlock.h"
#include "lwp.h"
#include "lwp_threads.h"
#include "sys_state.h"
#include "context.h"
#include "cache.h"
#include "video.h"
#include "ogcsys.h"
#include "lwp_config.h"
#include "tcpip.h"
#include "geckousb.h"
#include "debug_if.h"
#include "debug_supp.h"
Classes | |
struct | hard_trap_info |
struct | bp_entry |
Macros | |
#define | GEKKO_MAX_BP 256 |
#define | SP_REGNUM 1 |
#define | PC_REGNUM 64 |
#define | BUFMAX 2048 |
#define | BPCODE 0x7d821008 |
#define | highhex(x) hexchars [((x)>>4)&0xf] |
#define | lowhex(x) hexchars [(x)&0xf] |
#define | UIP_LOG(m) |
Functions | |
void | __breakinst () |
void | c_debug_handler (frame_context *ctx) |
void | dbg_exceptionhandler () |
void | __exception_sethandler (u32 nExcept, void(*pHndl)(frame_context *)) |
void | __clr_iabr () |
void | __enable_iabr () |
void | __disable_iabr () |
void | __set_iabr (void *) |
static __inline__ void | bp_init () |
static s32 | hex (char ch) |
static s32 | hexToInt (char **ptr, s32 *ival) |
static s32 | computeSignal (s32 excpt) |
static u32 | insert_bp (void *mem) |
static u32 | remove_bp (void *mem) |
static char | getdbgchar () |
static void | putdbgchar (char ch) |
static void | putdbgstr (const char *str) |
static void | putpacket (const char *buffer) |
static void | getpacket (char *buffer) |
static void | process_query (const char *inp, char *outp, s32 thread) |
static s32 | gdbstub_setthreadregs (s32 thread, frame_context *frame) |
static s32 | gdbstub_getthreadregs (s32 thread, frame_context *frame) |
static void | gdbstub_report_exception (frame_context *frame, s32 thread) |
void | _break (void) |
Stub function to insert the hardware break instruction. This function is used to enter the debug stub and to connect with the host. The developer is free to insert this function at any position in project's source code. More... | |
void | DEBUG_Init (s32 device_type, s32 channel_port) |
Performs the initialization of the debug stub. More... | |
Variables | |
static s32 | dbg_active = 0 |
static s32 | dbg_instep = 0 |
static s32 | dbg_initialized = 0 |
static struct dbginterface * | current_device = NULL |
static char | remcomInBuffer [BUFMAX] |
static char | remcomOutBuffer [BUFMAX] |
const char | hexchars [] ="0123456789abcdef" |
static struct hard_trap_info | hard_trap_info [] |
static struct bp_entry | bp_entries [GEKKO_MAX_BP] |
static struct bp_entry * | p_bpentries = NULL |
static frame_context | current_thread_registers |
const char * | tcp_localip |
const char * | tcp_netmask |
const char * | tcp_gateway |
u8 | __text_start [] |
u8 | __data_start [] |
u8 | __bss_start [] |
u8 | __text_fstart [] |
u8 | __data_fstart [] |
u8 | __bss_fstart [] |
#define BPCODE 0x7d821008 |
#define BUFMAX 2048 |
#define GEKKO_MAX_BP 256 |
#define PC_REGNUM 64 |
#define SP_REGNUM 1 |
#define UIP_LOG | ( | m | ) |
void __breakinst | ( | ) |
void __clr_iabr | ( | ) |
void __disable_iabr | ( | ) |
void __enable_iabr | ( | ) |
void __exception_sethandler | ( | u32 | nExcept, |
void(*)(frame_context *) | pHndl | ||
) |
Stub function to insert the hardware break instruction. This function is used to enter the debug stub and to connect with the host. The developer is free to insert this function at any position in project's source code.
|
static |
void c_debug_handler | ( | frame_context * | ctx | ) |
void dbg_exceptionhandler | ( | ) |
Performs the initialization of the debug stub.
[in] | device_type | type of device to use. can be either USB or TCP. |
[in] | channel_port | depending on the used device this can be either the EXI channel or the TCP port. |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
u8 __bss_fstart[] |
u8 __bss_start[] |
u8 __data_fstart[] |
u8 __data_start[] |
u8 __text_fstart[] |
u8 __text_start[] |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
const char hexchars[] ="0123456789abcdef" |
|
static |
|
static |
const char* tcp_gateway |
const char* tcp_localip |
const char* tcp_netmask |