aboutsummaryrefslogtreecommitdiff
path: root/sys/compat/freebsd32/freebsd32.h
diff options
context:
space:
mode:
authorNathan Whitehorn <nwhitehorn@FreeBSD.org>2010-03-11 14:49:06 +0000
committerNathan Whitehorn <nwhitehorn@FreeBSD.org>2010-03-11 14:49:06 +0000
commit841c0c7ec75bef3c9920cd811270f9f84791ee04 (patch)
treee7bb2301107c48074cb0dbfffd43ee1f7e425d97 /sys/compat/freebsd32/freebsd32.h
parent343803ad831302c8914105ef7dec9e7544750d1e (diff)
downloadsrc-841c0c7ec75bef3c9920cd811270f9f84791ee04.tar.gz
src-841c0c7ec75bef3c9920cd811270f9f84791ee04.zip
Provide groundwork for 32-bit binary compatibility on non-x86 platforms,
for upcoming 64-bit PowerPC and MIPS support. This renames the COMPAT_IA32 option to COMPAT_FREEBSD32, removes some IA32-specific code from MI parts of the kernel and enhances the freebsd32 compatibility code to support big-endian platforms. Reviewed by: kib, jhb
Notes
Notes: svn path=/head/; revision=205014
Diffstat (limited to 'sys/compat/freebsd32/freebsd32.h')
-rw-r--r--sys/compat/freebsd32/freebsd32.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/sys/compat/freebsd32/freebsd32.h b/sys/compat/freebsd32/freebsd32.h
index 84e832c4e619..058ac72fe5fd 100644
--- a/sys/compat/freebsd32/freebsd32.h
+++ b/sys/compat/freebsd32/freebsd32.h
@@ -29,6 +29,9 @@
#ifndef _COMPAT_FREEBSD32_FREEBSD32_H_
#define _COMPAT_FREEBSD32_FREEBSD32_H_
+#include <sys/procfs.h>
+#include <sys/socket.h>
+
#define PTRIN(v) (void *)(uintptr_t) (v)
#define PTROUT(v) (u_int32_t)(uintptr_t) (v)
@@ -197,4 +200,25 @@ struct i386_ldt_args32 {
uint32_t num;
};
+/*
+ * Alternative layouts for <sys/procfs.h>
+ */
+struct prstatus32 {
+ int pr_version;
+ u_int pr_statussz;
+ u_int pr_gregsetsz;
+ u_int pr_fpregsetsz;
+ int pr_osreldate;
+ int pr_cursig;
+ pid_t pr_pid;
+ struct reg32 pr_reg;
+};
+
+struct prpsinfo32 {
+ int pr_version;
+ u_int pr_psinfosz;
+ char pr_fname[PRFNAMESZ+1];
+ char pr_psargs[PRARGSZ+1];
+};
+
#endif /* !_COMPAT_FREEBSD32_FREEBSD32_H_ */