|
Lines 47-52
__FBSDID("$FreeBSD$");
Link Here
|
| 47 |
|
47 |
|
| 48 |
#include <machine/armreg.h> |
48 |
#include <machine/armreg.h> |
| 49 |
|
49 |
|
|
|
50 |
/* Only used to get/set 32bits VFP regs */ |
| 51 |
int |
| 52 |
cpu_ptrace(struct thread *td, int req, void *arg, int data) |
| 53 |
{ |
| 54 |
#if defined(VFP) && defined(COMPAT_FREEBSD32) |
| 55 |
mcontext32_vfp_t vfp; |
| 56 |
int error; |
| 57 |
|
| 58 |
if (!SV_CURPROC_FLAG(SV_ILP32)) |
| 59 |
return (EINVAL); |
| 60 |
switch (req) { |
| 61 |
case PT_GETVFPREGS32: |
| 62 |
get_fpcontext32(td, &vfp); |
| 63 |
error = copyout(&vfp, arg, sizeof(vfp)); |
| 64 |
break; |
| 65 |
case PT_SETVFPREGS32: |
| 66 |
error = copyin(arg, &vfp, sizeof(vfp)); |
| 67 |
if (error == 0) |
| 68 |
set_fpcontext32(td, &vfp); |
| 69 |
break; |
| 70 |
default: |
| 71 |
error = EINVAL; |
| 72 |
} |
| 73 |
|
| 74 |
return (error); |
| 75 |
#else |
| 76 |
return (EINVAL); |
| 77 |
#endif |
| 78 |
} |
| 79 |
|
| 50 |
int |
80 |
int |
| 51 |
ptrace_set_pc(struct thread *td, u_long addr) |
81 |
ptrace_set_pc(struct thread *td, u_long addr) |
| 52 |
{ |
82 |
{ |