summaryrefslogtreecommitdiffstats
path: root/sys/ia64/include
diff options
context:
space:
mode:
authornwhitehorn <nwhitehorn@FreeBSD.org>2010-03-11 14:49:06 +0000
committernwhitehorn <nwhitehorn@FreeBSD.org>2010-03-11 14:49:06 +0000
commit142a4d29938aa4f7dde8d4ae621c479cc53fda36 (patch)
treee7bb2301107c48074cb0dbfffd43ee1f7e425d97 /sys/ia64/include
parentd937b522a1d72eb6b270db5bf368d3fd1a79ebcf (diff)
downloadFreeBSD-src-142a4d29938aa4f7dde8d4ae621c479cc53fda36.zip
FreeBSD-src-142a4d29938aa4f7dde8d4ae621c479cc53fda36.tar.gz
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
Diffstat (limited to 'sys/ia64/include')
-rw-r--r--sys/ia64/include/elf.h1
-rw-r--r--sys/ia64/include/reg.h9
2 files changed, 10 insertions, 0 deletions
diff --git a/sys/ia64/include/elf.h b/sys/ia64/include/elf.h
index c6a43fc..27182db 100644
--- a/sys/ia64/include/elf.h
+++ b/sys/ia64/include/elf.h
@@ -43,6 +43,7 @@
#include <sys/elf_generic.h>
#define ELF_ARCH EM_IA_64
+#define ELF_ARCH32 EM_386
#define ELF_MACHINE_OK(x) ((x) == EM_IA_64)
diff --git a/sys/ia64/include/reg.h b/sys/ia64/include/reg.h
index 453c9b8..e95db31 100644
--- a/sys/ia64/include/reg.h
+++ b/sys/ia64/include/reg.h
@@ -31,6 +31,10 @@
#include <machine/_regset.h>
+#if defined(_KERNEL) && !defined(_STANDALONE)
+#include "opt_compat.h"
+#endif
+
struct reg {
struct _special r_special;
struct _callee_saved r_preserved;
@@ -48,6 +52,11 @@ struct dbreg {
unsigned long dbr_inst[8];
};
+#ifdef COMPAT_FREEBSD32
+#include <machine/fpu.h>
+#include <compat/ia32/ia32_reg.h>
+#endif
+
#ifdef _KERNEL
struct thread;
OpenPOWER on IntegriCloud