GDBserver
|
#include "server.h"
#include "gdb_wait.h"
#include <sys/ptrace.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/syscall.h>
#include "filestuff.h"
#include "hostio.h"
Go to the source code of this file.
Macros | |
#define | __WNOTHREAD |
#define | PTRACE_TYPE_RET long |
#define | PTRACE_TYPE_ARG3 long |
#define | SPU_NUM_REGS 130 |
#define | SPU_NUM_CORE_REGS 128 |
#define | SPU_ID_REGNUM 128 |
#define | SPU_PC_REGNUM 129 |
#define | INSTR_SC 0x44000002 |
#define | NR_spu_run 0x0116 |
Functions | |
void | init_registers_spu (void) |
static CORE_ADDR | fetch_ppc_register (int regno) |
static int | fetch_ppc_memory_1 (int tid, CORE_ADDR memaddr, PTRACE_TYPE_RET *word) |
static int | store_ppc_memory_1 (int tid, CORE_ADDR memaddr, PTRACE_TYPE_RET word) |
static int | fetch_ppc_memory (CORE_ADDR memaddr, char *myaddr, int len) |
static int | store_ppc_memory (CORE_ADDR memaddr, char *myaddr, int len) |
static int | parse_spufs_run (int *fd, CORE_ADDR *addr) |
static int | spu_proc_xfer_spu (const char *annex, unsigned char *readbuf, const unsigned char *writebuf, CORE_ADDR offset, int len) |
static int | spu_create_inferior (char *program, char **allargs) |
int | spu_attach (unsigned long pid) |
static int | spu_kill (int pid) |
static int | spu_detach (int pid) |
static void | spu_mourn (struct process_info *process) |
static void | spu_join (int pid) |
static int | spu_thread_alive (ptid_t ptid) |
static void | spu_resume (struct thread_resume *resume_info, size_t n) |
static ptid_t | spu_wait (ptid_t ptid, struct target_waitstatus *ourstatus, int options) |
static void | spu_fetch_registers (struct regcache *regcache, int regno) |
static void | spu_store_registers (struct regcache *regcache, int regno) |
static int | spu_read_memory (CORE_ADDR memaddr, unsigned char *myaddr, int len) |
static int | spu_write_memory (CORE_ADDR memaddr, const unsigned char *myaddr, int len) |
static void | spu_look_up_symbols (void) |
static void | spu_request_interrupt (void) |
void | initialize_low (void) |
Variables | |
int | using_threads = 0 |
const struct target_desc * | tdesc_spu |
static struct target_ops | spu_target_ops |
#define __WNOTHREAD |
Definition at line 33 of file spu-low.c.
Referenced by spu_wait().
#define INSTR_SC 0x44000002 |
Definition at line 49 of file spu-low.c.
Referenced by parse_spufs_run().
#define NR_spu_run 0x0116 |
Definition at line 50 of file spu-low.c.
Referenced by parse_spufs_run().
#define PTRACE_TYPE_ARG3 long |
Definition at line 38 of file spu-low.c.
Referenced by arm_prepare_to_resume(), check_stopped_by_breakpoint(), dequeue_one_deferred_signal(), enqueue_one_deferred_signal(), fetch_ppc_memory_1(), fetch_ppc_register(), handle_extended_wait(), linux_attach_lwp(), linux_check_ptrace_features(), linux_child_function(), linux_create_inferior(), linux_detach_one_lwp(), linux_disable_event_reporting(), linux_enable_event_reporting(), linux_kill_one_lwp(), linux_ptrace_test_ret_to_nx(), linux_read_memory(), linux_resume_one_lwp_throw(), linux_resume_one_thread(), linux_test_for_exitkill(), linux_test_for_tracefork(), linux_test_for_tracesysgood(), linux_wait_1(), linux_write_memory(), linux_xfer_siginfo(), maybe_move_out_of_jump_pad(), spu_wait(), and store_ppc_memory_1().
#define PTRACE_TYPE_RET long |
Definition at line 37 of file spu-low.c.
Referenced by fetch_ppc_memory(), fetch_ppc_register(), and store_ppc_memory().
#define SPU_ID_REGNUM 128 |
Definition at line 45 of file spu-low.c.
Referenced by spu_fetch_registers().
#define SPU_NUM_CORE_REGS 128 |
Definition at line 42 of file spu-low.c.
Referenced by spu_fetch_registers(), and spu_store_registers().
#define SPU_PC_REGNUM 129 |
Definition at line 46 of file spu-low.c.
Referenced by spu_fetch_registers(), and spu_store_registers().
|
static |
Definition at line 139 of file spu-low.c.
References alloca(), current_ptid, fetch_ppc_memory_1(), ptid_get_lwp(), and PTRACE_TYPE_RET.
Referenced by parse_spufs_run(), and spu_fetch_registers().
|
static |
Definition at line 101 of file spu-low.c.
References errno, and PTRACE_TYPE_ARG3.
Referenced by fetch_ppc_memory(), and store_ppc_memory().
|
static |
Definition at line 61 of file spu-low.c.
References current_ptid, errno, perror_with_name(), ptid_get_lwp(), PTRACE_TYPE_ARG3, and PTRACE_TYPE_RET.
Referenced by parse_spufs_run().
void init_registers_spu | ( | void | ) |
Referenced by initialize_low().
void initialize_low | ( | void | ) |
Definition at line 675 of file spu-low.c.
References init_registers_spu(), set_breakpoint_data(), and set_target_ops().
|
static |
Definition at line 202 of file spu-low.c.
References fetch_ppc_memory(), fetch_ppc_register(), INSTR_SC, and NR_spu_run.
Referenced by spu_fetch_registers(), spu_read_memory(), spu_store_registers(), spu_wait(), and spu_write_memory().
int spu_attach | ( | unsigned long | pid | ) |
Definition at line 300 of file spu-low.c.
References add_process(), add_thread(), errno, ptid_build(), strerror(), process_info::tdesc, and tdesc_spu.
|
static |
Definition at line 263 of file spu-low.c.
References add_process(), add_thread(), close_most_fds(), errno, perror_with_name(), ptid_build(), strerror(), process_info::tdesc, and tdesc_spu.
|
static |
Definition at line 344 of file spu-low.c.
References clear_inferiors(), find_process_pid(), and remove_process().
|
static |
Definition at line 479 of file spu-low.c.
References fetch_ppc_memory(), parse_spufs_run(), SPU_ID_REGNUM, SPU_NUM_CORE_REGS, SPU_PC_REGNUM, spu_proc_xfer_spu(), and supply_register().
|
static |
Definition at line 364 of file spu-low.c.
References errno, WIFEXITED, and WIFSIGNALED.
|
static |
Definition at line 322 of file spu-low.c.
References clear_inferiors(), errno, find_process_pid(), remove_process(), WIFEXITED, and WIFSIGNALED.
|
static |
Definition at line 358 of file spu-low.c.
References remove_process().
|
static |
Definition at line 227 of file spu-low.c.
References current_ptid, and ptid_get_lwp().
Referenced by spu_fetch_registers(), spu_read_memory(), spu_store_registers(), and spu_write_memory().
|
static |
Definition at line 555 of file spu-low.c.
References parse_spufs_run(), and spu_proc_xfer_spu().
|
static |
Definition at line 634 of file spu-low.c.
References current_ptid, and ptid_get_lwp().
|
static |
Definition at line 384 of file spu-low.c.
References current_ptid, errno, minus_one_ptid, perror_with_name(), ptid_equal(), ptid_get_lwp(), and regcache_invalidate().
|
static |
Definition at line 516 of file spu-low.c.
References collect_register(), parse_spufs_run(), SPU_NUM_CORE_REGS, SPU_PC_REGNUM, spu_proc_xfer_spu(), and store_ppc_memory().
|
static |
Definition at line 377 of file spu-low.c.
References current_ptid, and ptid_equal().
Definition at line 411 of file spu-low.c.
References __WALL, __WNOTHREAD, clear_inferiors(), errno, gdb_signal_from_host(), parse_spufs_run(), perror_with_name(), pid_to_ptid(), ptid_build(), ptid_get_pid(), PTRACE_TYPE_ARG3, server_waiting, WEXITSTATUS, WIFEXITED, WIFSTOPPED, WNOHANG, WSTOPSIG, and WTERMSIG.
|
static |
Definition at line 593 of file spu-low.c.
References parse_spufs_run(), and spu_proc_xfer_spu().
|
static |
Definition at line 164 of file spu-low.c.
References alloca(), current_ptid, fetch_ppc_memory_1(), ptid_get_lwp(), PTRACE_TYPE_RET, and store_ppc_memory_1().
Referenced by spu_store_registers().
|
static |
Definition at line 120 of file spu-low.c.
References errno, and PTRACE_TYPE_ARG3.
Referenced by store_ppc_memory().
|
static |
const struct target_desc* tdesc_spu |
Referenced by spu_attach(), and spu_create_inferior().