From e5e2c7ffa0f7d9ba0874b95924f4d977b116f45b Mon Sep 17 00:00:00 2001 From: Andrew Turner Date: Fri, 27 Aug 2021 09:38:40 +0000 Subject: [PATCH] Create sys/reg.h for the common code previously in machine/reg.h Move the common kernel function signatures from machine/reg.h to a new sys/reg.h. This is in preperation for adding PT_GETREGSET to ptrace(2). Reviewed by: imp, markj Sponsored by: DARPA, AFRL (original work) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D19830 (cherry picked from commit b792434150d66b9b2356fb9a7548f4c7f0a0f16c) --- sys/amd64/amd64/db_trace.c | 2 +- sys/amd64/amd64/exec_machdep.c | 2 +- sys/amd64/amd64/gdb_machdep.c | 2 +- sys/amd64/amd64/machdep.c | 2 +- sys/amd64/ia32/ia32_reg.c | 1 + sys/amd64/include/db_machdep.h | 1 - sys/amd64/linux/linux_ptrace.c | 1 - sys/amd64/linux32/linux32_machdep.c | 2 +- sys/amd64/vmm/amd/svm.c | 2 +- sys/amd64/vmm/intel/vmx.c | 2 +- sys/arm/arm/debug_monitor.c | 2 +- sys/arm/arm/machdep_kdb.c | 2 +- sys/arm/include/reg.h | 9 --- sys/arm64/arm64/exec_machdep.c | 2 +- sys/arm64/arm64/machdep.c | 2 +- sys/arm64/include/reg.h | 20 ------ sys/arm64/linux/linux_machdep.c | 1 + .../uts/intel/dtrace/fasttrap_isa.c | 2 +- sys/cddl/dev/dtrace/aarch64/dtrace_isa.c | 1 - sys/cddl/dev/dtrace/amd64/dtrace_isa.c | 1 - sys/cddl/dev/dtrace/arm/dtrace_isa.c | 1 - sys/cddl/dev/dtrace/mips/dtrace_isa.c | 1 - sys/cddl/dev/dtrace/powerpc/dtrace_isa.c | 1 - sys/cddl/dev/dtrace/riscv/dtrace_isa.c | 1 - sys/ddb/db_run.c | 1 + sys/fs/procfs/procfs_dbregs.c | 2 - sys/fs/procfs/procfs_fpregs.c | 2 - sys/fs/procfs/procfs_regs.c | 2 - sys/i386/i386/db_trace.c | 2 +- sys/i386/i386/exec_machdep.c | 2 +- sys/i386/i386/gdb_machdep.c | 2 +- sys/i386/i386/machdep.c | 2 +- sys/i386/include/db_machdep.h | 1 - sys/i386/linux/linux_ptrace.c | 1 - sys/kern/imgact_elf.c | 1 + sys/kern/kern_exec.c | 3 +- sys/kern/sys_process.c | 3 +- sys/mips/include/md_var.h | 2 +- sys/mips/include/reg.h | 16 ----- sys/mips/mips/freebsd32_machdep.c | 2 +- sys/mips/mips/gdb_machdep.c | 1 - sys/mips/mips/machdep.c | 1 + sys/mips/mips/pm_machdep.c | 2 +- sys/mips/nlm/cms.c | 1 - sys/mips/nlm/dev/net/xlpge.c | 1 - sys/powerpc/aim/aim_machdep.c | 1 - sys/powerpc/booke/booke_machdep.c | 1 - sys/powerpc/fpu/fpu_add.c | 1 - sys/powerpc/fpu/fpu_compare.c | 1 - sys/powerpc/fpu/fpu_div.c | 1 - sys/powerpc/fpu/fpu_emu.c | 1 - sys/powerpc/fpu/fpu_implode.c | 1 - sys/powerpc/fpu/fpu_mul.c | 1 - sys/powerpc/fpu/fpu_sqrt.c | 1 - sys/powerpc/fpu/fpu_subr.c | 1 - sys/powerpc/powerpc/elf32_machdep.c | 2 +- sys/powerpc/powerpc/exec_machdep.c | 2 +- sys/powerpc/powerpc/gdb_machdep.c | 1 - sys/powerpc/powerpc/machdep.c | 2 +- sys/riscv/include/reg.h | 12 ---- sys/riscv/riscv/exec_machdep.c | 2 +- sys/riscv/riscv/machdep.c | 2 +- sys/sys/reg.h | 68 +++++++++++++++++++ sys/x86/include/reg.h | 16 ----- sys/x86/x86/dbreg.c | 1 + 65 files changed, 100 insertions(+), 131 deletions(-) create mode 100644 sys/sys/reg.h diff --git a/sys/amd64/amd64/db_trace.c b/sys/amd64/amd64/db_trace.c index 4c569c456e9..037cae200e2 100644 --- a/sys/amd64/amd64/db_trace.c +++ b/sys/amd64/amd64/db_trace.c @@ -31,6 +31,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -38,7 +39,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include diff --git a/sys/amd64/amd64/exec_machdep.c b/sys/amd64/amd64/exec_machdep.c index a4255c34821..0c2bebaea8f 100644 --- a/sys/amd64/amd64/exec_machdep.c +++ b/sys/amd64/amd64/exec_machdep.c @@ -60,6 +60,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #ifdef SMP @@ -90,7 +91,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include diff --git a/sys/amd64/amd64/gdb_machdep.c b/sys/amd64/amd64/gdb_machdep.c index eb5ab525aa9..02b76a35d7a 100644 --- a/sys/amd64/amd64/gdb_machdep.c +++ b/sys/amd64/amd64/gdb_machdep.c @@ -34,6 +34,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -42,7 +43,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include diff --git a/sys/amd64/amd64/machdep.c b/sys/amd64/amd64/machdep.c index 8a1da968cf0..cfe7e2518e5 100644 --- a/sys/amd64/amd64/machdep.c +++ b/sys/amd64/amd64/machdep.c @@ -82,6 +82,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -128,7 +129,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include diff --git a/sys/amd64/ia32/ia32_reg.c b/sys/amd64/ia32/ia32_reg.c index f6333a65fb3..343d1564e1f 100644 --- a/sys/amd64/ia32/ia32_reg.c +++ b/sys/amd64/ia32/ia32_reg.c @@ -43,6 +43,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include diff --git a/sys/amd64/include/db_machdep.h b/sys/amd64/include/db_machdep.h index c88c281ff9a..102475f660a 100644 --- a/sys/amd64/include/db_machdep.h +++ b/sys/amd64/include/db_machdep.h @@ -30,7 +30,6 @@ #define _MACHINE_DB_MACHDEP_H_ #include -#include #include typedef vm_offset_t db_addr_t; /* address - unsigned */ diff --git a/sys/amd64/linux/linux_ptrace.c b/sys/amd64/linux/linux_ptrace.c index 5fa7dafdf2c..13bc0edd7c9 100644 --- a/sys/amd64/linux/linux_ptrace.c +++ b/sys/amd64/linux/linux_ptrace.c @@ -40,7 +40,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include #include diff --git a/sys/amd64/linux32/linux32_machdep.c b/sys/amd64/linux32/linux32_machdep.c index 1cfda5d60e1..7fa061f750c 100644 --- a/sys/amd64/linux32/linux32_machdep.c +++ b/sys/amd64/linux32/linux32_machdep.c @@ -49,6 +49,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -61,7 +62,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include diff --git a/sys/amd64/vmm/amd/svm.c b/sys/amd64/vmm/amd/svm.c index 0348c333540..fbf11ec8408 100644 --- a/sys/amd64/vmm/amd/svm.c +++ b/sys/amd64/vmm/amd/svm.c @@ -38,6 +38,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -47,7 +48,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include diff --git a/sys/amd64/vmm/intel/vmx.c b/sys/amd64/vmm/intel/vmx.c index 7017e4b9077..e7ced1b2c3f 100644 --- a/sys/amd64/vmm/intel/vmx.c +++ b/sys/amd64/vmm/intel/vmx.c @@ -41,6 +41,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -50,7 +51,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include diff --git a/sys/arm/arm/debug_monitor.c b/sys/arm/arm/debug_monitor.c index 55b5f70b239..b73249bedcf 100644 --- a/sys/arm/arm/debug_monitor.c +++ b/sys/arm/arm/debug_monitor.c @@ -35,6 +35,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -44,7 +45,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include diff --git a/sys/arm/arm/machdep_kdb.c b/sys/arm/arm/machdep_kdb.c index 4dedb72edb2..b1f04c0832a 100644 --- a/sys/arm/arm/machdep_kdb.c +++ b/sys/arm/arm/machdep_kdb.c @@ -35,10 +35,10 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include -#include #ifdef DDB #include diff --git a/sys/arm/include/reg.h b/sys/arm/include/reg.h index 494052f6473..4dc95481688 100644 --- a/sys/arm/include/reg.h +++ b/sys/arm/include/reg.h @@ -32,13 +32,4 @@ struct dbreg { unsigned int dbg_wvr[ARM_WR_MAX]; /* Watchpoint Value Registers */ }; -#ifdef _KERNEL -int fill_regs(struct thread *, struct reg *); -int set_regs(struct thread *, struct reg *); -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 *); -#endif - #endif /* !MACHINE_REG_H */ diff --git a/sys/arm64/arm64/exec_machdep.c b/sys/arm64/arm64/exec_machdep.c index 6a7fc64734e..cc589731ae6 100644 --- a/sys/arm64/arm64/exec_machdep.c +++ b/sys/arm64/arm64/exec_machdep.c @@ -40,6 +40,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -54,7 +55,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #ifdef VFP #include diff --git a/sys/arm64/arm64/machdep.c b/sys/arm64/arm64/machdep.c index 28105661c12..7b135a3623b 100644 --- a/sys/arm64/arm64/machdep.c +++ b/sys/arm64/arm64/machdep.c @@ -54,6 +54,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -82,7 +83,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include diff --git a/sys/arm64/include/reg.h b/sys/arm64/include/reg.h index 9b954bd50b2..bb151af55ba 100644 --- a/sys/arm64/include/reg.h +++ b/sys/arm64/include/reg.h @@ -85,24 +85,4 @@ struct dbreg32 { #define __HAVE_REG32 -#ifdef _KERNEL -/* - * XXX these interfaces are MI, so they should be declared in a MI place. - */ -int fill_regs(struct thread *, struct reg *); -int set_regs(struct thread *, struct reg *); -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/arm64/linux/linux_machdep.c b/sys/arm64/linux/linux_machdep.c index c67c4aa6479..23d9c6423b0 100644 --- a/sys/arm64/linux/linux_machdep.c +++ b/sys/arm64/linux/linux_machdep.c @@ -36,6 +36,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include diff --git a/sys/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c b/sys/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c index 163a8fdd13f..c40b4b94e38 100644 --- a/sys/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c +++ b/sys/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c @@ -36,11 +36,11 @@ #include #include #include +#include #include #include #include #include -#include #include #include #include diff --git a/sys/cddl/dev/dtrace/aarch64/dtrace_isa.c b/sys/cddl/dev/dtrace/aarch64/dtrace_isa.c index db47423e9d3..4a39fa7860c 100644 --- a/sys/cddl/dev/dtrace/aarch64/dtrace_isa.c +++ b/sys/cddl/dev/dtrace/aarch64/dtrace_isa.c @@ -35,7 +35,6 @@ #include #include -#include #include #include diff --git a/sys/cddl/dev/dtrace/amd64/dtrace_isa.c b/sys/cddl/dev/dtrace/amd64/dtrace_isa.c index 07a4103bd71..71b448a99c1 100644 --- a/sys/cddl/dev/dtrace/amd64/dtrace_isa.c +++ b/sys/cddl/dev/dtrace/amd64/dtrace_isa.c @@ -35,7 +35,6 @@ #include #include -#include #include #include diff --git a/sys/cddl/dev/dtrace/arm/dtrace_isa.c b/sys/cddl/dev/dtrace/arm/dtrace_isa.c index 9bac37669a8..ede352e6b87 100644 --- a/sys/cddl/dev/dtrace/arm/dtrace_isa.c +++ b/sys/cddl/dev/dtrace/arm/dtrace_isa.c @@ -35,7 +35,6 @@ #include #include -#include #include #include diff --git a/sys/cddl/dev/dtrace/mips/dtrace_isa.c b/sys/cddl/dev/dtrace/mips/dtrace_isa.c index c09225c734b..8d65012dadf 100644 --- a/sys/cddl/dev/dtrace/mips/dtrace_isa.c +++ b/sys/cddl/dev/dtrace/mips/dtrace_isa.c @@ -35,7 +35,6 @@ #include #include -#include #include #include diff --git a/sys/cddl/dev/dtrace/powerpc/dtrace_isa.c b/sys/cddl/dev/dtrace/powerpc/dtrace_isa.c index a188eafa777..cce1c907b5d 100644 --- a/sys/cddl/dev/dtrace/powerpc/dtrace_isa.c +++ b/sys/cddl/dev/dtrace/powerpc/dtrace_isa.c @@ -39,7 +39,6 @@ #include #include #include -#include #include #include diff --git a/sys/cddl/dev/dtrace/riscv/dtrace_isa.c b/sys/cddl/dev/dtrace/riscv/dtrace_isa.c index f8663b5bfea..d42299abcd3 100644 --- a/sys/cddl/dev/dtrace/riscv/dtrace_isa.c +++ b/sys/cddl/dev/dtrace/riscv/dtrace_isa.c @@ -37,7 +37,6 @@ #include #include -#include #include #include diff --git a/sys/ddb/db_run.c b/sys/ddb/db_run.c index af99eb75760..c9ea87fca79 100644 --- a/sys/ddb/db_run.c +++ b/sys/ddb/db_run.c @@ -40,6 +40,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include diff --git a/sys/fs/procfs/procfs_dbregs.c b/sys/fs/procfs/procfs_dbregs.c index 8d2206d2995..acc0f7f8c5a 100644 --- a/sys/fs/procfs/procfs_dbregs.c +++ b/sys/fs/procfs/procfs_dbregs.c @@ -54,8 +54,6 @@ #include #include -#include - #include #include diff --git a/sys/fs/procfs/procfs_fpregs.c b/sys/fs/procfs/procfs_fpregs.c index 9675030df3c..1118eb68dcb 100644 --- a/sys/fs/procfs/procfs_fpregs.c +++ b/sys/fs/procfs/procfs_fpregs.c @@ -48,8 +48,6 @@ #include #include -#include - #include #include diff --git a/sys/fs/procfs/procfs_regs.c b/sys/fs/procfs/procfs_regs.c index 032141a9e32..703dad64a18 100644 --- a/sys/fs/procfs/procfs_regs.c +++ b/sys/fs/procfs/procfs_regs.c @@ -48,8 +48,6 @@ #include #include -#include - #include #include diff --git a/sys/i386/i386/db_trace.c b/sys/i386/i386/db_trace.c index 80ef0fe715d..529b94b76cc 100644 --- a/sys/i386/i386/db_trace.c +++ b/sys/i386/i386/db_trace.c @@ -31,13 +31,13 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include #include #include -#include #include #include diff --git a/sys/i386/i386/exec_machdep.c b/sys/i386/i386/exec_machdep.c index 1f0a9a47a19..2223dd2a1ef 100644 --- a/sys/i386/i386/exec_machdep.c +++ b/sys/i386/i386/exec_machdep.c @@ -64,6 +64,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -95,7 +96,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include diff --git a/sys/i386/i386/gdb_machdep.c b/sys/i386/i386/gdb_machdep.c index 7cb83d839fe..7523787da53 100644 --- a/sys/i386/i386/gdb_machdep.c +++ b/sys/i386/i386/gdb_machdep.c @@ -34,13 +34,13 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include #include #include -#include #include #include diff --git a/sys/i386/i386/machdep.c b/sys/i386/i386/machdep.c index 227e7e07549..22a40a4151c 100644 --- a/sys/i386/i386/machdep.c +++ b/sys/i386/i386/machdep.c @@ -82,6 +82,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -129,7 +130,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include diff --git a/sys/i386/include/db_machdep.h b/sys/i386/include/db_machdep.h index 42f0f19d29a..83daab106b8 100644 --- a/sys/i386/include/db_machdep.h +++ b/sys/i386/include/db_machdep.h @@ -30,7 +30,6 @@ #define _MACHINE_DB_MACHDEP_H_ #include -#include #include typedef vm_offset_t db_addr_t; /* address - unsigned */ diff --git a/sys/i386/linux/linux_ptrace.c b/sys/i386/linux/linux_ptrace.c index 0c93d0266b8..d9e0ed50c75 100644 --- a/sys/i386/linux/linux_ptrace.c +++ b/sys/i386/linux/linux_ptrace.c @@ -41,7 +41,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include #include diff --git a/sys/kern/imgact_elf.c b/sys/kern/imgact_elf.c index b17141073fd..939e0fe941b 100644 --- a/sys/kern/imgact_elf.c +++ b/sys/kern/imgact_elf.c @@ -54,6 +54,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c index 656de54cabc..b001c413d6e 100644 --- a/sys/kern/kern_exec.c +++ b/sys/kern/kern_exec.c @@ -56,6 +56,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -91,8 +92,6 @@ __FBSDID("$FreeBSD$"); #include #endif -#include - #include #include diff --git a/sys/kern/sys_process.c b/sys/kern/sys_process.c index 267ffc3d8d5..8c5f795df69 100644 --- a/sys/kern/sys_process.c +++ b/sys/kern/sys_process.c @@ -40,6 +40,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -54,8 +55,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include - #include #include diff --git a/sys/mips/include/md_var.h b/sys/mips/include/md_var.h index 64cc2058f71..138047a13b4 100644 --- a/sys/mips/include/md_var.h +++ b/sys/mips/include/md_var.h @@ -36,7 +36,7 @@ #ifndef _MACHINE_MD_VAR_H_ #define _MACHINE_MD_VAR_H_ -#include +#include /* * Miscellaneous machine-dependent declarations. diff --git a/sys/mips/include/reg.h b/sys/mips/include/reg.h index a1f5aa4da23..440b791bffc 100644 --- a/sys/mips/include/reg.h +++ b/sys/mips/include/reg.h @@ -85,23 +85,7 @@ struct dbreg32 { #define __HAVE_REG32 #endif -#ifdef _KERNEL -int fill_fpregs(struct thread *, struct fpreg *); -int fill_regs(struct thread *, struct reg *); -int set_fpregs(struct thread *, struct fpreg *); -int set_regs(struct thread *, struct reg *); -int fill_dbregs(struct thread *, struct dbreg *); -int set_dbregs(struct thread *, struct dbreg *); -#endif - #ifdef COMPAT_FREEBSD32 -struct image_params; - -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 *); - #define fill_dbregs32(td, reg) 0 #define set_dbregs32(td, reg) 0 #endif diff --git a/sys/mips/mips/freebsd32_machdep.c b/sys/mips/mips/freebsd32_machdep.c index b59ef995a4b..710c7315de3 100644 --- a/sys/mips/mips/freebsd32_machdep.c +++ b/sys/mips/mips/freebsd32_machdep.c @@ -48,6 +48,7 @@ #include #include #include +#include #include #include #include @@ -60,7 +61,6 @@ #include #include -#include #include #include #include diff --git a/sys/mips/mips/gdb_machdep.c b/sys/mips/mips/gdb_machdep.c index 130a78f9eb8..4b999613d7f 100644 --- a/sys/mips/mips/gdb_machdep.c +++ b/sys/mips/mips/gdb_machdep.c @@ -101,7 +101,6 @@ #include #include -#include #include #include diff --git a/sys/mips/mips/machdep.c b/sys/mips/mips/machdep.c index fd0f83e5df9..ec0f3f31c25 100644 --- a/sys/mips/mips/machdep.c +++ b/sys/mips/mips/machdep.c @@ -60,6 +60,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include diff --git a/sys/mips/mips/pm_machdep.c b/sys/mips/mips/pm_machdep.c index 8d8cf4e1023..7a9db29b6ff 100644 --- a/sys/mips/mips/pm_machdep.c +++ b/sys/mips/mips/pm_machdep.c @@ -44,6 +44,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -62,7 +63,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include diff --git a/sys/mips/nlm/cms.c b/sys/mips/nlm/cms.c index 32ee6e1c954..4b6ad7c95db 100644 --- a/sys/mips/nlm/cms.c +++ b/sys/mips/nlm/cms.c @@ -51,7 +51,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include #include #include diff --git a/sys/mips/nlm/dev/net/xlpge.c b/sys/mips/nlm/dev/net/xlpge.c index e9dadf83c7e..20fe1604821 100644 --- a/sys/mips/nlm/dev/net/xlpge.c +++ b/sys/mips/nlm/dev/net/xlpge.c @@ -69,7 +69,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include #include #include diff --git a/sys/powerpc/aim/aim_machdep.c b/sys/powerpc/aim/aim_machdep.c index bfbea09781a..91429644010 100644 --- a/sys/powerpc/aim/aim_machdep.c +++ b/sys/powerpc/aim/aim_machdep.c @@ -118,7 +118,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include diff --git a/sys/powerpc/booke/booke_machdep.c b/sys/powerpc/booke/booke_machdep.c index 09396d85404..5db1a17fc24 100644 --- a/sys/powerpc/booke/booke_machdep.c +++ b/sys/powerpc/booke/booke_machdep.c @@ -122,7 +122,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include #include #include diff --git a/sys/powerpc/fpu/fpu_add.c b/sys/powerpc/fpu/fpu_add.c index 6dd594ca0ec..fdab0d8872a 100644 --- a/sys/powerpc/fpu/fpu_add.c +++ b/sys/powerpc/fpu/fpu_add.c @@ -56,7 +56,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include #include diff --git a/sys/powerpc/fpu/fpu_compare.c b/sys/powerpc/fpu/fpu_compare.c index 48d7c488ce8..633d32dcc71 100644 --- a/sys/powerpc/fpu/fpu_compare.c +++ b/sys/powerpc/fpu/fpu_compare.c @@ -56,7 +56,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include #include diff --git a/sys/powerpc/fpu/fpu_div.c b/sys/powerpc/fpu/fpu_div.c index 5b625f640f1..7536d4aaa69 100644 --- a/sys/powerpc/fpu/fpu_div.c +++ b/sys/powerpc/fpu/fpu_div.c @@ -53,7 +53,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include #include diff --git a/sys/powerpc/fpu/fpu_emu.c b/sys/powerpc/fpu/fpu_emu.c index 6c1b91fb972..c8c1f0b4b7e 100644 --- a/sys/powerpc/fpu/fpu_emu.c +++ b/sys/powerpc/fpu/fpu_emu.c @@ -93,7 +93,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include #include diff --git a/sys/powerpc/fpu/fpu_implode.c b/sys/powerpc/fpu/fpu_implode.c index 69a58bf7931..8ccf4b2f824 100644 --- a/sys/powerpc/fpu/fpu_implode.c +++ b/sys/powerpc/fpu/fpu_implode.c @@ -56,7 +56,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include diff --git a/sys/powerpc/fpu/fpu_mul.c b/sys/powerpc/fpu/fpu_mul.c index 609b261492a..336ddaee960 100644 --- a/sys/powerpc/fpu/fpu_mul.c +++ b/sys/powerpc/fpu/fpu_mul.c @@ -53,7 +53,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include #include diff --git a/sys/powerpc/fpu/fpu_sqrt.c b/sys/powerpc/fpu/fpu_sqrt.c index e1f5bec9006..5a95d7eae11 100644 --- a/sys/powerpc/fpu/fpu_sqrt.c +++ b/sys/powerpc/fpu/fpu_sqrt.c @@ -53,7 +53,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include #include diff --git a/sys/powerpc/fpu/fpu_subr.c b/sys/powerpc/fpu/fpu_subr.c index fc817a7ee58..fbe1bc70aa5 100644 --- a/sys/powerpc/fpu/fpu_subr.c +++ b/sys/powerpc/fpu/fpu_subr.c @@ -53,7 +53,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include #include diff --git a/sys/powerpc/powerpc/elf32_machdep.c b/sys/powerpc/powerpc/elf32_machdep.c index 09a0cad8087..993c55a3ce4 100644 --- a/sys/powerpc/powerpc/elf32_machdep.c +++ b/sys/powerpc/powerpc/elf32_machdep.c @@ -42,6 +42,7 @@ #include #include #include +#include #include #include #include @@ -56,7 +57,6 @@ #include #include #include -#include #include #include diff --git a/sys/powerpc/powerpc/exec_machdep.c b/sys/powerpc/powerpc/exec_machdep.c index 91cc9a98f7a..ded419bf843 100644 --- a/sys/powerpc/powerpc/exec_machdep.c +++ b/sys/powerpc/powerpc/exec_machdep.c @@ -76,6 +76,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -89,7 +90,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include diff --git a/sys/powerpc/powerpc/gdb_machdep.c b/sys/powerpc/powerpc/gdb_machdep.c index a7f1de512e3..e334bd46375 100644 --- a/sys/powerpc/powerpc/gdb_machdep.c +++ b/sys/powerpc/powerpc/gdb_machdep.c @@ -38,7 +38,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include #include diff --git a/sys/powerpc/powerpc/machdep.c b/sys/powerpc/powerpc/machdep.c index 797f2574747..f0dfee710c3 100644 --- a/sys/powerpc/powerpc/machdep.c +++ b/sys/powerpc/powerpc/machdep.c @@ -83,6 +83,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -119,7 +120,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include diff --git a/sys/riscv/include/reg.h b/sys/riscv/include/reg.h index 08f953f128d..d76b500bce1 100644 --- a/sys/riscv/include/reg.h +++ b/sys/riscv/include/reg.h @@ -60,16 +60,4 @@ struct dbreg { int dummy; }; -#ifdef _KERNEL -/* - * XXX these interfaces are MI, so they should be declared in a MI place. - */ -int fill_regs(struct thread *, struct reg *); -int set_regs(struct thread *, struct reg *); -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 *); -#endif - #endif /* !_MACHINE_REG_H_ */ diff --git a/sys/riscv/riscv/exec_machdep.c b/sys/riscv/riscv/exec_machdep.c index e71279e039d..08fba5c83e5 100644 --- a/sys/riscv/riscv/exec_machdep.c +++ b/sys/riscv/riscv/exec_machdep.c @@ -48,6 +48,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -60,7 +61,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include diff --git a/sys/riscv/riscv/machdep.c b/sys/riscv/riscv/machdep.c index 061160a449d..76f357e5355 100644 --- a/sys/riscv/riscv/machdep.c +++ b/sys/riscv/riscv/machdep.c @@ -59,6 +59,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -86,7 +87,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include diff --git a/sys/sys/reg.h b/sys/sys/reg.h new file mode 100644 index 00000000000..910ea802029 --- /dev/null +++ b/sys/sys/reg.h @@ -0,0 +1,68 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (C) 2014,2019 Andrew Turner + * Copyright (c) 2014-2015 The FreeBSD Foundation + * + * This software was developed by Andrew Turner under + * sponsorship from the FreeBSD Foundation. + * + * This software was developed by SRI International and the University of + * Cambridge Computer Laboratory under DARPA/AFRL contract FA8750-10-C-0237 + * ("CTSRD"), as part of the DARPA CRASH research programme. + * + * 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. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + * + * $FreeBSD$ + */ + +#ifndef _SYS_REG_H_ +#define _SYS_REG_H_ + +#include + +#ifdef _KERNEL +int fill_regs(struct thread *, struct reg *); +int set_regs(struct thread *, struct reg *); +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 *); +#ifndef fill_fpregs32 +int fill_fpregs32(struct thread *, struct fpreg32 *); +#endif +#ifndef set_fpregs32 +int set_fpregs32(struct thread *, struct fpreg32 *); +#endif +#ifndef fill_dbregs32 +int fill_dbregs32(struct thread *, struct dbreg32 *); +#endif +#ifndef set_dbregs32 +int set_dbregs32(struct thread *, struct dbreg32 *); +#endif +#endif +#endif + +#endif diff --git a/sys/x86/include/reg.h b/sys/x86/include/reg.h index f82848192e6..f97704d6324 100644 --- a/sys/x86/include/reg.h +++ b/sys/x86/include/reg.h @@ -244,26 +244,10 @@ struct __dbreg64 { #undef __dbreg64 #ifdef _KERNEL -struct thread; - /* * XXX these interfaces are MI, so they should be declared in a MI place. */ -int fill_regs(struct thread *, struct reg *); int fill_frame_regs(struct trapframe *, struct reg *); -int set_regs(struct thread *, struct reg *); -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/x86/dbreg.c b/sys/x86/x86/dbreg.c index ef30cc2d614..3361807c622 100644 --- a/sys/x86/x86/dbreg.c +++ b/sys/x86/x86/dbreg.c @@ -29,6 +29,7 @@ #include #include #include +#include #include #include