diff options
author | nwhitehorn <nwhitehorn@FreeBSD.org> | 2010-03-11 14:49:06 +0000 |
---|---|---|
committer | nwhitehorn <nwhitehorn@FreeBSD.org> | 2010-03-11 14:49:06 +0000 |
commit | 142a4d29938aa4f7dde8d4ae621c479cc53fda36 (patch) | |
tree | e7bb2301107c48074cb0dbfffd43ee1f7e425d97 /sys/ia64/include | |
parent | d937b522a1d72eb6b270db5bf368d3fd1a79ebcf (diff) | |
download | FreeBSD-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.h | 1 | ||||
-rw-r--r-- | sys/ia64/include/reg.h | 9 |
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; |