Stackdb
Stackdb is a stackable, multi-target and -level source debugger and memory forensics library.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Data Structures | Macros | Functions | Variables
target_gdb_helper_qemu.c File Reference
#include "config.h"
#include <errno.h>
#include <ctype.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/socket.h>
#include <netdb.h>
#include <netinet/in.h>
#include <sys/mman.h>
#include "common.h"
#include "arch.h"
#include "arch_x86.h"
#include "arch_x86_64.h"
#include "regcache.h"
#include "target_api.h"
#include "target.h"
#include "target_gdb.h"
#include "target_gdb_rsp.h"
Include dependency graph for target_gdb_helper_qemu.c:

Go to the source code of this file.

Data Structures

struct  gdb_helper_qemu_state
 

Macros

#define GDB_MAX_IO   1024
 

Functions

int gdb_helper_qemu_addr_v2p (struct target *target, tid_t tid, ADDR pgd, ADDR vaddr, ADDR *paddr)
 
unsigned char * gdb_helper_qemu_read_tid (struct target *target, tid_t tid, ADDR pgd, ADDR addr, unsigned long length, unsigned char *buf)
 
int gdb_helper_qemu_init (struct target *target)
 
int __recv_til_block (int fd, char *buf, unsigned int len, int blockfirst)
 
int gdb_helper_qemu_attach (struct target *target)
 
int gdb_helper_qemu_handle_exception_any (struct target *target)
 
int gdb_helper_qemu_handle_exception_ours (struct target *target)
 
int gdb_helper_qemu_handle_pause (struct target *target)
 
int gdb_helper_qemu_load_machine (struct target *target, struct regcache *regcache)
 
unsigned char * gdb_helper_qemu_read_tid_mem_path (struct target *target, tid_t tid, ADDR pgd, ADDR addr, unsigned long length, unsigned char *buf)
 
unsigned long gdb_helper_qemu_write_tid_mem_path (struct target *target, tid_t tid, ADDR pgd, ADDR addr, unsigned long length, unsigned char *buf)
 
unsigned char * gdb_helper_qemu_read_v_str (struct target *target, tid_t tid, ADDR pgd, ADDR addr)
 
unsigned long gdb_helper_qemu_write_tid (struct target *target, tid_t tid, ADDR pgd, ADDR addr, unsigned long length, unsigned char *buf)
 
unsigned char * gdb_helper_qemu_read_phys_str (struct target *target, ADDR addr)
 
unsigned char * gdb_helper_qemu_read_phys (struct target *target, ADDR paddr, unsigned long length, unsigned char *buf)
 
unsigned long gdb_helper_qemu_write_phys (struct target *target, ADDR paddr, unsigned long length, unsigned char *buf)
 
int gdb_helper_qemu_fini (struct target *target)
 

Variables

struct gdb_helper_ops gdb_helper_ops_qemu
 

Macro Definition Documentation

#define GDB_MAX_IO   1024

Definition at line 738 of file target_gdb_helper_qemu.c.

Function Documentation

int __recv_til_block ( int  fd,
char *  buf,
unsigned int  len,
int  blockfirst 
)

Definition at line 136 of file target_gdb_helper_qemu.c.

int gdb_helper_qemu_addr_v2p ( struct target target,
tid_t  tid,
ADDR  pgd,
ADDR  vaddr,
ADDR paddr 
)

Definition at line 904 of file target_gdb_helper_qemu.c.

int gdb_helper_qemu_attach ( struct target target)

Definition at line 193 of file target_gdb_helper_qemu.c.

int gdb_helper_qemu_fini ( struct target target)

Definition at line 1061 of file target_gdb_helper_qemu.c.

int gdb_helper_qemu_handle_exception_any ( struct target target)

Definition at line 312 of file target_gdb_helper_qemu.c.

int gdb_helper_qemu_handle_exception_ours ( struct target target)

Definition at line 316 of file target_gdb_helper_qemu.c.

int gdb_helper_qemu_handle_pause ( struct target target)

Definition at line 331 of file target_gdb_helper_qemu.c.

int gdb_helper_qemu_init ( struct target target)

Definition at line 76 of file target_gdb_helper_qemu.c.

int gdb_helper_qemu_load_machine ( struct target target,
struct regcache regcache 
)

Definition at line 346 of file target_gdb_helper_qemu.c.

unsigned char* gdb_helper_qemu_read_phys ( struct target target,
ADDR  paddr,
unsigned long  length,
unsigned char *  buf 
)

Definition at line 993 of file target_gdb_helper_qemu.c.

unsigned char* gdb_helper_qemu_read_phys_str ( struct target target,
ADDR  addr 
)

Definition at line 953 of file target_gdb_helper_qemu.c.

unsigned char * gdb_helper_qemu_read_tid ( struct target target,
tid_t  tid,
ADDR  pgd,
ADDR  addr,
unsigned long  length,
unsigned char *  buf 
)

Definition at line 750 of file target_gdb_helper_qemu.c.

unsigned char* gdb_helper_qemu_read_tid_mem_path ( struct target target,
tid_t  tid,
ADDR  pgd,
ADDR  addr,
unsigned long  length,
unsigned char *  buf 
)

Definition at line 500 of file target_gdb_helper_qemu.c.

unsigned char* gdb_helper_qemu_read_v_str ( struct target target,
tid_t  tid,
ADDR  pgd,
ADDR  addr 
)

Definition at line 678 of file target_gdb_helper_qemu.c.

unsigned long gdb_helper_qemu_write_phys ( struct target target,
ADDR  paddr,
unsigned long  length,
unsigned char *  buf 
)

Definition at line 1030 of file target_gdb_helper_qemu.c.

unsigned long gdb_helper_qemu_write_tid ( struct target target,
tid_t  tid,
ADDR  pgd,
ADDR  addr,
unsigned long  length,
unsigned char *  buf 
)

Definition at line 833 of file target_gdb_helper_qemu.c.

unsigned long gdb_helper_qemu_write_tid_mem_path ( struct target target,
tid_t  tid,
ADDR  pgd,
ADDR  addr,
unsigned long  length,
unsigned char *  buf 
)

Definition at line 606 of file target_gdb_helper_qemu.c.

Variable Documentation

struct gdb_helper_ops gdb_helper_ops_qemu
Initial value:
= {
.handle_exception_any = gdb_helper_qemu_handle_exception_any,
.handle_exception_ours = gdb_helper_qemu_handle_exception_ours,
}
int gdb_helper_qemu_handle_exception_any(struct target *target)
unsigned char * gdb_helper_qemu_read_tid(struct target *target, tid_t tid, ADDR pgd, ADDR addr, unsigned long length, unsigned char *buf)
unsigned long gdb_helper_qemu_write_phys(struct target *target, ADDR paddr, unsigned long length, unsigned char *buf)
int gdb_helper_qemu_attach(struct target *target)
unsigned char * gdb_helper_qemu_read_phys(struct target *target, ADDR paddr, unsigned long length, unsigned char *buf)
int gdb_helper_qemu_handle_exception_ours(struct target *target)
int gdb_helper_qemu_addr_v2p(struct target *target, tid_t tid, ADDR pgd, ADDR vaddr, ADDR *paddr)
unsigned long gdb_helper_qemu_write_tid(struct target *target, tid_t tid, ADDR pgd, ADDR addr, unsigned long length, unsigned char *buf)
int gdb_helper_qemu_fini(struct target *target)
int gdb_helper_qemu_load_machine(struct target *target, struct regcache *regcache)
int gdb_helper_qemu_init(struct target *target)
int gdb_helper_qemu_handle_pause(struct target *target)

Definition at line 1090 of file target_gdb_helper_qemu.c.