Enable dtrace support for mips64 and the ERL kernel config

Turn on the required options in the ERL config file, and ensure
that the fbt module is listed as a dependency for mips in
the modules/dtrace/dtraceall/dtraceall.c file.

PR: 		220346
Reviewed by:	gnn, markj
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D12227
This commit is contained in:
Kurt Lidl 2017-09-06 03:19:52 +00:00
parent 6d0ab07837
commit a8273e4371
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=323206
7 changed files with 14 additions and 10 deletions

View File

@ -37,8 +37,6 @@
#include <machine/cpuregs.h>
#include <machine/regnum.h>
#include "assym.s"
.set noreorder # Noreorder is default style!
/*

View File

@ -50,6 +50,8 @@ extern int (*dtrace_invop_jump_addr)(struct trapframe *);
extern dtrace_id_t dtrace_probeid_error;
int dtrace_invop(uintptr_t, struct trapframe *, uintptr_t);
void dtrace_invop_init(void);
void dtrace_invop_uninit(void);
typedef struct dtrace_invop_hdlr {
int (*dtih_func)(uintptr_t, struct trapframe *, uintptr_t);

View File

@ -82,7 +82,6 @@ fbt_provide_module_function(linker_file_t lf, int symindx,
linker_symval_t *symval, void *opaque)
{
fbt_probe_t *fbt, *retfbt;
uint32_t *target, *start;
uint32_t *instr, *limit;
const char *name;
char *modname;

View File

@ -86,14 +86,15 @@ options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed.
options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4)
options AUDIT # Security event auditing
options MAC # TrustedBSD MAC Framework
#options KDTRACE_FRAME # Ensure frames are compiled in
#options KDTRACE_HOOKS # Kernel DTrace hooks
options INCLUDE_CONFIG_FILE # Include this file in kernel
options KDTRACE_FRAME # Ensure frames are compiled in
options KDTRACE_HOOKS # Kernel DTrace hooks
options DDB_CTF # Kernel ELF linker loads CTF data
options INCLUDE_CONFIG_FILE # Include this file in kernel
options TMPFS # Temporary file system
# Debugging for use in -current
#options KDB # Enable kernel debugger support.
#options DDB # Support DDB.
options DDB # Support DDB.
#options GDB # Support remote GDB.
#options DEADLKRES # Enable the deadlock resolver
#options INVARIANTS # Enable calls of extra sanity checking

View File

@ -22,11 +22,14 @@ SUBDIR+= systrace_linux32
.if ${MACHINE_CPUARCH} == "powerpc"
SUBDIR+= fbt fasttrap
.endif
.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_ARCH} == "powerpc64"
.if ${MACHINE_CPUARCH} == "amd64" || \
${MACHINE_ARCH} == "mips64" || \
${MACHINE_ARCH} == "powerpc64"
SUBDIR+= systrace_freebsd32
.endif
.if ${MACHINE_CPUARCH} == "aarch64" || \
${MACHINE_CPUARCH} == "arm" || \
${MACHINE_CPUARCH} == "mips" || \
${MACHINE_CPUARCH} == "riscv"
SUBDIR+= fbt
.endif

View File

@ -8,7 +8,7 @@ SRCS= dtraceall.c opt_compat.h opt_nfs.h
CFLAGS+= -I${SYSDIR}
.if !defined(KERNBUILDDIR)
.if ${MACHINE_ARCH} == "amd64"
.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "mips64"
opt_compat.h:
echo "#define COMPAT_FREEBSD32 1" >> ${.TARGET}
.endif

View File

@ -70,7 +70,8 @@ MODULE_DEPEND(dtraceall, dtmalloc, 1, 1, 1);
MODULE_DEPEND(dtraceall, dtnfscl, 1, 1, 1);
#endif
#if defined(__aarch64__) || defined(__amd64__) || defined(__arm__) || \
defined(__i386__) || defined(__powerpc__) || defined(__riscv)
defined(__i386__) || defined(__mips__) || \
defined(__powerpc__) || defined(__riscv)
MODULE_DEPEND(dtraceall, fbt, 1, 1, 1);
#endif
#if defined(__amd64__) || defined(__i386__)