diff options
| author | Nathan Whitehorn <nwhitehorn@FreeBSD.org> | 2010-04-07 02:24:41 +0000 |
|---|---|---|
| committer | Nathan Whitehorn <nwhitehorn@FreeBSD.org> | 2010-04-07 02:24:41 +0000 |
| commit | 4ccf64eb2bb126b295631f77a22b60a34abd8f79 (patch) | |
| tree | 9cb5c82283f9840994363d827ab9f1affbd07fb4 /sys/ia64 | |
| parent | 6836afc4c683a5bfa6c625f8adf455b7107eddae (diff) | |
Notes
Diffstat (limited to 'sys/ia64')
| -rw-r--r-- | sys/ia64/conf/GENERIC | 1 | ||||
| -rw-r--r-- | sys/ia64/conf/NOTES | 4 | ||||
| -rw-r--r-- | sys/ia64/ia64/exception.S | 2 | ||||
| -rw-r--r-- | sys/ia64/ia64/genassym.c | 4 | ||||
| -rw-r--r-- | sys/ia64/ia64/machdep.c | 6 | ||||
| -rw-r--r-- | sys/ia64/include/elf.h | 1 | ||||
| -rw-r--r-- | sys/ia64/include/reg.h | 9 |
7 files changed, 19 insertions, 8 deletions
diff --git a/sys/ia64/conf/GENERIC b/sys/ia64/conf/GENERIC index e0e739da2909..a536ced00eca 100644 --- a/sys/ia64/conf/GENERIC +++ b/sys/ia64/conf/GENERIC @@ -28,6 +28,7 @@ makeoptions DEBUG=-g # Build kernel with debug information. options AUDIT # Security event auditing options CD9660 # ISO 9660 Filesystem options COMPAT_43TTY # BSD 4.3 TTY compat (sgtty) +options COMPAT_FREEBSD6 # Compatible with FreeBSD6 options COMPAT_FREEBSD7 # Compatible with FreeBSD7 options FFS # Berkeley Fast Filesystem options FLOWTABLE # per-cpu routing cache diff --git a/sys/ia64/conf/NOTES b/sys/ia64/conf/NOTES index 873199a61b01..3f3821856b10 100644 --- a/sys/ia64/conf/NOTES +++ b/sys/ia64/conf/NOTES @@ -12,10 +12,10 @@ cpu ITANIUM cpu ITANIUM2 -# option: COMPAT_IA32 +# option: COMPAT_FREEBSD32 # This option enables the support for execution of i386 (32-bit) programs on # ia64. It is based on the ia32 emulation in the processor. -options COMPAT_IA32 +options COMPAT_FREEBSD32 # option: LOG2_ID_PAGE_SIZE # Specify the log2 size of the identity (direct) mappings in regions 6 and 7 diff --git a/sys/ia64/ia64/exception.S b/sys/ia64/ia64/exception.S index 755a467d7451..4464a880b169 100644 --- a/sys/ia64/ia64/exception.S +++ b/sys/ia64/ia64/exception.S @@ -676,7 +676,7 @@ ivt_##name: \ #define IVT_END(name) \ .endp ivt_##name -#ifdef COMPAT_IA32 +#ifdef COMPAT_FREEBSD32 #define IA32_TRAP ia32_trap #else #define IA32_TRAP trap diff --git a/sys/ia64/ia64/genassym.c b/sys/ia64/ia64/genassym.c index 9f7625279d9c..d81054b9cea1 100644 --- a/sys/ia64/ia64/genassym.c +++ b/sys/ia64/ia64/genassym.c @@ -61,8 +61,8 @@ #include <net/if.h> #include <netinet/in.h> -#ifdef COMPAT_IA32 -ASSYM(COMPAT_IA32, COMPAT_IA32); +#ifdef COMPAT_FREEBSD32 +ASSYM(COMPAT_FREEBSD32, COMPAT_FREEBSD32); #endif ASSYM(DT_NULL, DT_NULL); diff --git a/sys/ia64/ia64/machdep.c b/sys/ia64/ia64/machdep.c index e2e9f9141d97..ec3d612ebaca 100644 --- a/sys/ia64/ia64/machdep.c +++ b/sys/ia64/ia64/machdep.c @@ -440,7 +440,7 @@ cpu_switch(struct thread *old, struct thread *new, struct mtx *mtx) struct pcb *oldpcb, *newpcb; oldpcb = old->td_pcb; -#ifdef COMPAT_IA32 +#ifdef COMPAT_FREEBSD32 ia32_savectx(oldpcb); #endif if (PCPU_GET(fpcurthread) == old) @@ -459,7 +459,7 @@ cpu_switch(struct thread *old, struct thread *new, struct mtx *mtx) PCPU_SET(curthread, new); -#ifdef COMPAT_IA32 +#ifdef COMPAT_FREEBSD32 ia32_restorectx(newpcb); #endif @@ -487,7 +487,7 @@ cpu_throw(struct thread *old __unused, struct thread *new) PCPU_SET(curthread, new); -#ifdef COMPAT_IA32 +#ifdef COMPAT_FREEBSD32 ia32_restorectx(newpcb); #endif diff --git a/sys/ia64/include/elf.h b/sys/ia64/include/elf.h index c6a43fcdc170..27182dbcae95 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 453c9b831412..e95db312d4a8 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; |
