# HG changeset patch # User Horms # Node ID 5d6005d3424d96dbe969a17ac9fb2505436a8018 # Parent 8a261fbb7867bc8eaa4d812b3cf29c5ceaeb907b libxc: Remove duplicate xc_ptrace code Signed-Off-By: Horms diff -r 8a261fbb7867 -r 5d6005d3424d tools/libxc/xc_ptrace.c --- a/tools/libxc/xc_ptrace.c Fri Mar 3 13:26:46 2006 +0900 +++ b/tools/libxc/xc_ptrace.c Fri Mar 3 19:40:06 2006 +0900 @@ -7,9 +7,35 @@ #include "xc_private.h" #include "xg_private.h" -#include #include "xc_ptrace.h" +const char const * ptrace_names[] = { + "PTRACE_TRACEME", + "PTRACE_PEEKTEXT", + "PTRACE_PEEKDATA", + "PTRACE_PEEKUSER", + "PTRACE_POKETEXT", + "PTRACE_POKEDATA", + "PTRACE_POKEUSER", + "PTRACE_CONT", + "PTRACE_KILL", + "PTRACE_SINGLESTEP", + "PTRACE_INVALID", + "PTRACE_INVALID", + "PTRACE_GETREGS", + "PTRACE_SETREGS", + "PTRACE_GETFPREGS", + "PTRACE_SETFPREGS", + "PTRACE_ATTACH", + "PTRACE_DETACH", + "PTRACE_GETFPXREGS", + "PTRACE_SETFPXREGS", + "PTRACE_INVALID", + "PTRACE_INVALID", + "PTRACE_INVALID", + "PTRACE_INVALID", + "PTRACE_SYSCALL", +}; /* XXX application state */ static long nr_pages = 0; diff -r 8a261fbb7867 -r 5d6005d3424d tools/libxc/xc_ptrace.h --- a/tools/libxc/xc_ptrace.h Fri Mar 3 13:26:46 2006 +0900 +++ b/tools/libxc/xc_ptrace.h Fri Mar 3 19:40:06 2006 +0900 @@ -1,5 +1,7 @@ #ifndef XC_PTRACE_ #define XC_PTRACE_ + +#include #ifdef XC_PTRACE_PRIVATE #define X86_CR0_PE 0x00000001 /* Enable Protected Mode (RW) */ @@ -8,33 +10,7 @@ #define PDRSHIFT 22 #define PSL_T 0x00000100 /* trace enable bit */ -char * ptrace_names[] = { - "PTRACE_TRACEME", - "PTRACE_PEEKTEXT", - "PTRACE_PEEKDATA", - "PTRACE_PEEKUSER", - "PTRACE_POKETEXT", - "PTRACE_POKEDATA", - "PTRACE_POKEUSER", - "PTRACE_CONT", - "PTRACE_KILL", - "PTRACE_SINGLESTEP", - "PTRACE_INVALID", - "PTRACE_INVALID", - "PTRACE_GETREGS", - "PTRACE_SETREGS", - "PTRACE_GETFPREGS", - "PTRACE_SETFPREGS", - "PTRACE_ATTACH", - "PTRACE_DETACH", - "PTRACE_GETFPXREGS", - "PTRACE_SETFPXREGS", - "PTRACE_INVALID", - "PTRACE_INVALID", - "PTRACE_INVALID", - "PTRACE_INVALID", - "PTRACE_SYSCALL", -}; +extern const char const * ptrace_names[]; struct gdb_regs { long ebx; /* 0 */ diff -r 8a261fbb7867 -r 5d6005d3424d tools/libxc/xc_ptrace_core.c --- a/tools/libxc/xc_ptrace_core.c Fri Mar 3 13:26:46 2006 +0900 +++ b/tools/libxc/xc_ptrace_core.c Fri Mar 3 19:40:06 2006 +0900 @@ -1,81 +1,12 @@ +#define XC_PTRACE_PRIVATE + #include #include #include "xc_private.h" +#include "xc_ptrace.h" #include -#define BSD_PAGE_MASK (PAGE_SIZE-1) -#define PDRSHIFT 22 #define VCPU 0 /* XXX */ - -/* - * long - * ptrace(enum __ptrace_request request, pid_t pid, void *addr, void *data); - */ - -struct gdb_regs { - long ebx; /* 0 */ - long ecx; /* 4 */ - long edx; /* 8 */ - long esi; /* 12 */ - long edi; /* 16 */ - long ebp; /* 20 */ - long eax; /* 24 */ - int xds; /* 28 */ - int xes; /* 32 */ - int xfs; /* 36 */ - int xgs; /* 40 */ - long orig_eax; /* 44 */ - long eip; /* 48 */ - int xcs; /* 52 */ - long eflags; /* 56 */ - long esp; /* 60 */ - int xss; /* 64 */ -}; - -#define printval(x) printf("%s = %lx\n", #x, (long)x); -#define SET_PT_REGS(pt, xc) \ -{ \ - pt.ebx = xc.ebx; \ - pt.ecx = xc.ecx; \ - pt.edx = xc.edx; \ - pt.esi = xc.esi; \ - pt.edi = xc.edi; \ - pt.ebp = xc.ebp; \ - pt.eax = xc.eax; \ - pt.eip = xc.eip; \ - pt.xcs = xc.cs; \ - pt.eflags = xc.eflags; \ - pt.esp = xc.esp; \ - pt.xss = xc.ss; \ - pt.xes = xc.es; \ - pt.xds = xc.ds; \ - pt.xfs = xc.fs; \ - pt.xgs = xc.gs; \ -} - -#define SET_XC_REGS(pt, xc) \ -{ \ - xc.ebx = pt->ebx; \ - xc.ecx = pt->ecx; \ - xc.edx = pt->edx; \ - xc.esi = pt->esi; \ - xc.edi = pt->edi; \ - xc.ebp = pt->ebp; \ - xc.eax = pt->eax; \ - xc.eip = pt->eip; \ - xc.cs = pt->xcs; \ - xc.eflags = pt->eflags; \ - xc.esp = pt->esp; \ - xc.ss = pt->xss; \ - xc.es = pt->xes; \ - xc.ds = pt->xds; \ - xc.fs = pt->xfs; \ - xc.gs = pt->xgs; \ -} - - -#define vtopdi(va) ((va) >> PDRSHIFT) -#define vtopti(va) (((va) >> PAGE_SHIFT) & 0x3ff) /* XXX application state */