GDBserver
Defines | Functions | Variables
/home/stan/gdb/src/gdb/gdbserver/spu-low.c File Reference
#include "server.h"
#include "gdb_wait.h"
#include <stdio.h>
#include <sys/ptrace.h>
#include <fcntl.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <sys/syscall.h>
#include "filestuff.h"
#include "hostio.h"

Go to the source code of this file.

Defines

#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
struct target_desctdesc_spu
static struct target_ops spu_target_ops

Define Documentation

#define __WNOTHREAD
Value:
0x20000000      /* Don't wait on children of other
                                           threads in this group */

Definition at line 37 of file spu-low.c.

Referenced by spu_wait().

#define INSTR_SC   0x44000002

Definition at line 52 of file spu-low.c.

Referenced by parse_spufs_run().

#define NR_spu_run   0x0116

Definition at line 53 of file spu-low.c.

Referenced by parse_spufs_run().

#define PTRACE_TYPE_ARG3   long
#define PTRACE_TYPE_RET   long

Definition at line 40 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 48 of file spu-low.c.

Referenced by spu_fetch_registers().

#define SPU_NUM_CORE_REGS   128

Definition at line 45 of file spu-low.c.

Referenced by spu_fetch_registers(), and spu_store_registers().

#define SPU_NUM_REGS   130

Definition at line 44 of file spu-low.c.

#define SPU_PC_REGNUM   129

Definition at line 49 of file spu-low.c.

Referenced by spu_fetch_registers(), and spu_store_registers().


Function Documentation

static int fetch_ppc_memory ( CORE_ADDR  memaddr,
char *  myaddr,
int  len 
) [static]
static int fetch_ppc_memory_1 ( int  tid,
CORE_ADDR  memaddr,
PTRACE_TYPE_RET word 
) [static]

Definition at line 104 of file spu-low.c.

References errno, and PTRACE_TYPE_ARG3.

Referenced by fetch_ppc_memory(), and store_ppc_memory().

static CORE_ADDR fetch_ppc_register ( int  regno) [static]

Definition at line 64 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 672 of file spu-low.c.

References init_registers_spu(), set_breakpoint_data(), and set_target_ops().

static int parse_spufs_run ( int *  fd,
CORE_ADDR addr 
) [static]
int spu_attach ( unsigned long  pid)

Definition at line 303 of file spu-low.c.

References add_process(), add_thread(), errno, ptid_build(), strerror, and process_info::tdesc.

static int spu_create_inferior ( char *  program,
char **  allargs 
) [static]
static int spu_detach ( int  pid) [static]

Definition at line 347 of file spu-low.c.

References clear_inferiors(), find_process_pid(), and remove_process().

static void spu_fetch_registers ( struct regcache regcache,
int  regno 
) [static]
static void spu_join ( int  pid) [static]

Definition at line 367 of file spu-low.c.

References errno.

static int spu_kill ( int  pid) [static]

Definition at line 325 of file spu-low.c.

References clear_inferiors(), errno, find_process_pid(), and remove_process().

static void spu_look_up_symbols ( void  ) [static]

Definition at line 631 of file spu-low.c.

static void spu_mourn ( struct process_info process) [static]

Definition at line 361 of file spu-low.c.

References remove_process().

static int spu_proc_xfer_spu ( const char *  annex,
unsigned char *  readbuf,
const unsigned char *  writebuf,
CORE_ADDR  offset,
int  len 
) [static]
static int spu_read_memory ( CORE_ADDR  memaddr,
unsigned char *  myaddr,
int  len 
) [static]

Definition at line 558 of file spu-low.c.

References memset(), parse_spufs_run(), and spu_proc_xfer_spu().

static void spu_request_interrupt ( void  ) [static]

Definition at line 637 of file spu-low.c.

References current_ptid, and ptid_get_lwp().

static void spu_resume ( struct thread_resume resume_info,
size_t  n 
) [static]
static void spu_store_registers ( struct regcache regcache,
int  regno 
) [static]
static int spu_thread_alive ( ptid_t  ptid) [static]

Definition at line 380 of file spu-low.c.

References current_ptid, and ptid_equal().

static ptid_t spu_wait ( ptid_t  ptid,
struct target_waitstatus *  ourstatus,
int  options 
) [static]
static int spu_write_memory ( CORE_ADDR  memaddr,
const unsigned char *  myaddr,
int  len 
) [static]

Definition at line 596 of file spu-low.c.

References memset(), parse_spufs_run(), and spu_proc_xfer_spu().

static int store_ppc_memory ( CORE_ADDR  memaddr,
char *  myaddr,
int  len 
) [static]
static int store_ppc_memory_1 ( int  tid,
CORE_ADDR  memaddr,
PTRACE_TYPE_RET  word 
) [static]

Definition at line 123 of file spu-low.c.

References errno, and PTRACE_TYPE_ARG3.

Referenced by store_ppc_memory().


Variable Documentation

struct target_ops spu_target_ops [static]
int using_threads = 0

Definition at line 56 of file spu-low.c.

 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines