diff --git a/sys/amd64/ia32/ia32_reg.c b/sys/amd64/ia32/ia32_reg.c index 71eed5e12a82..5bc18f12118a 100644 --- a/sys/amd64/ia32/ia32_reg.c +++ b/sys/amd64/ia32/ia32_reg.c @@ -65,7 +65,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include diff --git a/sys/compat/ia32/ia32_reg.h b/sys/compat/ia32/ia32_reg.h deleted file mode 100644 index 5e7cb9e66296..000000000000 --- a/sys/compat/ia32/ia32_reg.h +++ /dev/null @@ -1,93 +0,0 @@ -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * William Jolitz. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * from: @(#)reg.h 5.5 (Berkeley) 1/18/91 - * $FreeBSD$ - */ - -#ifndef _COMPAT_IA32_IA32_REG_H_ -#define _COMPAT_IA32_IA32_REG_H_ - -#ifdef __ia64__ -/* - * Register set accessible via /proc/$pid/regs and PT_{SET,GET}REGS. - */ -struct reg32 { - unsigned int r_fs; - unsigned int r_es; - unsigned int r_ds; - unsigned int r_edi; - unsigned int r_esi; - unsigned int r_ebp; - unsigned int r_isp; - unsigned int r_ebx; - unsigned int r_edx; - unsigned int r_ecx; - unsigned int r_eax; - unsigned int r_trapno; - unsigned int r_err; - unsigned int r_eip; - unsigned int r_cs; - unsigned int r_eflags; - unsigned int r_esp; - unsigned int r_ss; - unsigned int r_gs; -}; - -/* - * Register set accessible via /proc/$pid/fpregs. - */ -struct fpreg32 { - unsigned int fpr_env[7]; - unsigned char fpr_acc[8][10]; - unsigned int fpr_ex_sw; - unsigned char fpr_pad[64]; -}; - -/* - * Register set accessible via /proc/$pid/dbregs. - */ -struct dbreg32 { - unsigned int dr[8]; /* debug registers */ -}; -#endif - -/* - * Wrappers and converters. - */ -int fill_regs32(struct thread *, struct reg32 *); -int set_regs32(struct thread *, struct reg32 *); -int fill_fpregs32(struct thread *, struct fpreg32 *); -int set_fpregs32(struct thread *, struct fpreg32 *); -int fill_dbregs32(struct thread *, struct dbreg32 *); -int set_dbregs32(struct thread *, struct dbreg32 *); - -#endif /* !_COMPAT_IA32_IA32_REG_H_ */ diff --git a/sys/ia64/ia32/ia32_reg.c b/sys/ia64/ia32/ia32_reg.c index 2066f1873331..ae47f726c253 100644 --- a/sys/ia64/ia32/ia32_reg.c +++ b/sys/ia64/ia32/ia32_reg.c @@ -27,13 +27,13 @@ #include __FBSDID("$FreeBSD$"); +#include "opt_compat.h" + #include #include #include #include -#include - int fill_regs32(struct thread *td, struct reg32 *regs) { diff --git a/sys/ia64/include/reg.h b/sys/ia64/include/reg.h index e95db312d4a8..af6489de89c5 100644 --- a/sys/ia64/include/reg.h +++ b/sys/ia64/include/reg.h @@ -31,9 +31,27 @@ #include -#if defined(_KERNEL) && !defined(_STANDALONE) -#include "opt_compat.h" -#endif +struct reg32 { + unsigned int r_fs; + unsigned int r_es; + unsigned int r_ds; + unsigned int r_edi; + unsigned int r_esi; + unsigned int r_ebp; + unsigned int r_isp; + unsigned int r_ebx; + unsigned int r_edx; + unsigned int r_ecx; + unsigned int r_eax; + unsigned int r_trapno; + unsigned int r_err; + unsigned int r_eip; + unsigned int r_cs; + unsigned int r_eflags; + unsigned int r_esp; + unsigned int r_ss; + unsigned int r_gs; +}; struct reg { struct _special r_special; @@ -41,22 +59,28 @@ struct reg { struct _caller_saved r_scratch; }; +struct fpreg32 { + unsigned int fpr_env[7]; + unsigned char fpr_acc[8][10]; + unsigned int fpr_ex_sw; + unsigned char fpr_pad[64]; +}; + struct fpreg { struct _callee_saved_fp fpr_preserved; struct _caller_saved_fp fpr_scratch; struct _high_fp fpr_high; }; +struct dbreg32 { + unsigned int dr[8]; +}; + struct dbreg { unsigned long dbr_data[8]; unsigned long dbr_inst[8]; }; -#ifdef COMPAT_FREEBSD32 -#include -#include -#endif - #ifdef _KERNEL struct thread; @@ -67,6 +91,14 @@ int fill_fpregs(struct thread *, struct fpreg *); int set_fpregs(struct thread *, struct fpreg *); int fill_dbregs(struct thread *, struct dbreg *); int set_dbregs(struct thread *, struct dbreg *); +#ifdef COMPAT_FREEBSD32 +int fill_regs32(struct thread *, struct reg32 *); +int set_regs32(struct thread *, struct reg32 *); +int fill_fpregs32(struct thread *, struct fpreg32 *); +int set_fpregs32(struct thread *, struct fpreg32 *); +int fill_dbregs32(struct thread *, struct dbreg32 *); +int set_dbregs32(struct thread *, struct dbreg32 *); +#endif #endif #endif /* _MACHINE_REG_H_ */ diff --git a/sys/x86/include/reg.h b/sys/x86/include/reg.h index 7f37275eb0cf..56668ea82d6a 100644 --- a/sys/x86/include/reg.h +++ b/sys/x86/include/reg.h @@ -232,11 +232,6 @@ struct __dbreg64 { #undef __dbreg32 #undef __dbreg64 -#ifdef COMPAT_FREEBSD32 -#include -#include -#endif - #ifdef _KERNEL /* * XXX these interfaces are MI, so they should be declared in a MI place. @@ -248,6 +243,14 @@ int fill_fpregs(struct thread *, struct fpreg *); int set_fpregs(struct thread *, struct fpreg *); int fill_dbregs(struct thread *, struct dbreg *); int set_dbregs(struct thread *, struct dbreg *); +#ifdef COMPAT_FREEBSD32 +int fill_regs32(struct thread *, struct reg32 *); +int set_regs32(struct thread *, struct reg32 *); +int fill_fpregs32(struct thread *, struct fpreg32 *); +int set_fpregs32(struct thread *, struct fpreg32 *); +int fill_dbregs32(struct thread *, struct dbreg32 *); +int set_dbregs32(struct thread *, struct dbreg32 *); +#endif #endif #endif /* !_MACHINE_REG_H_ */