summaryrefslogtreecommitdiffstats
path: root/sys/kern/sys_process.c
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2010-02-09 17:20:00 +0000
committermarcel <marcel@FreeBSD.org>2010-02-09 17:20:00 +0000
commitbcd7bda0dad6382566dc0e40b8415a24b3f1f778 (patch)
treef98c7bcf56897f9a2ade96fcdba251035bc2d68c /sys/kern/sys_process.c
parent36dc0770b218c83fd37dfb38ab8dc4ccc1c4bab6 (diff)
downloadFreeBSD-src-bcd7bda0dad6382566dc0e40b8415a24b3f1f778.zip
FreeBSD-src-bcd7bda0dad6382566dc0e40b8415a24b3f1f778.tar.gz
Unbreak building kernels with COMPAT_32 enabled. The actual support
for the PT_VM_ENTRY request from 32-bit processes will follow. Pointy hat: marcel
Diffstat (limited to 'sys/kern/sys_process.c')
-rw-r--r--sys/kern/sys_process.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/sys/kern/sys_process.c b/sys/kern/sys_process.c
index 77734a4..ed1890f 100644
--- a/sys/kern/sys_process.c
+++ b/sys/kern/sys_process.c
@@ -73,6 +73,17 @@ struct ptrace_io_desc32 {
u_int32_t piod_addr;
u_int32_t piod_len;
};
+
+struct ptrace_vm_entry32 {
+ uint32_t pve_cookie;
+ uint32_t pve_start;
+ uint32_t pve_end;
+ uint32_t pve_offset;
+ u_int pve_prot;
+ u_int pve_pathlen;
+ uint32_t pve_path;
+};
+
#endif
/*
@@ -484,6 +495,7 @@ ptrace(struct thread *td, struct ptrace_args *uap)
struct fpreg32 fpreg32;
struct reg32 reg32;
struct ptrace_io_desc32 piod32;
+ struct ptrace_vm_entry32 pve32;
#endif
} r;
void *addr;
@@ -1075,6 +1087,13 @@ kern_ptrace(struct thread *td, int req, pid_t pid, void *addr, int data)
break;
case PT_VM_ENTRY:
+#ifdef COMPAT_IA32
+ /* XXX to be implemented. */
+ if (wrap32) {
+ error = EDOOFUS;
+ break;
+ }
+#endif
PROC_UNLOCK(p);
error = ptrace_vm_entry(td, p, addr);
PROC_LOCK(p);
OpenPOWER on IntegriCloud