MFC r344450, r344452, r344453:Fix a tracepoint lookup race in fasttrap_pid_probe().
Move most of the contents of opt_compat.h to opt_global.h.opt_compat.h is mentioned in nearly 180 files. In-progress networkdriver compabibility improvements may add over 100 more so this isclose
Move most of the contents of opt_compat.h to opt_global.h.opt_compat.h is mentioned in nearly 180 files. In-progress networkdriver compabibility improvements may add over 100 more so this iscloser to "just about everywhere" than "only some files" per theguidance in sys/conf/options.Keep COMPAT_LINUX32 in opt_compat.h as it is confined to a subset ofsys/compat/linux/*.c. A fake _COMPAT_LINUX option ensure opt_compat.his created on all architectures.Move COMPAT_LINUXKPI to opt_dontuse.h as it is only used to control theset of compiled files.Reviewed by: kib, cem, jhb, jtlSponsored by: DARPA, AFRLDifferential Revision: https://reviews.freebsd.org/D14941
show more ...
Rename assym.s to assym.incassym is only to be included by other .s files, and should neveractually be assembled by itself.Reviewed by: imp, bdrewery (earlier)Sponsored by: The FreeBSD Foundati
Rename assym.s to assym.incassym is only to be included by other .s files, and should neveractually be assembled by itself.Reviewed by: imp, bdrewery (earlier)Sponsored by: The FreeBSD FoundationDifferential Revision: https://reviews.freebsd.org/D14180
Build systrace_freebsd32 on arm64.Since r326501 which added COMPAT_FREEBSD32 to the GENERIC config for arm64,we need to build systrace_freebsd32, since dtraceall depends on it.Reviewed by: ed,
Build systrace_freebsd32 on arm64.Since r326501 which added COMPAT_FREEBSD32 to the GENERIC config for arm64,we need to build systrace_freebsd32, since dtraceall depends on it.Reviewed by: ed, gnnDifferential Revision: https://reviews.freebsd.org/D13670
sys: general adoption of SPDX licensing ID tags.Mainly focus on files that use BSD 2-Clause license, however the tool Iwas using misidentified many licenses so this was mostly a manual - errorpro
sys: general adoption of SPDX licensing ID tags.Mainly focus on files that use BSD 2-Clause license, however the tool Iwas using misidentified many licenses so this was mostly a manual - errorprone - task.The Software Package Data Exchange (SPDX) group provides a specificationto make it easier for automated tools to detect and summarize well knownopensource licenses. We are gradually adopting the specification, notingthat the tags are considered only advisory and do not, in any way,superceed or replace the license texts.No functional change intended.
Don't redefine _KERNEL.MFC after: 1 week
Enable dtrace support for mips64 and the ERL kernel configTurn on the required options in the ERL config file, and ensurethat the fbt module is listed as a dependency for mips inthe modules/dtrac
Enable dtrace support for mips64 and the ERL kernel configTurn on the required options in the ERL config file, and ensurethat the fbt module is listed as a dependency for mips inthe modules/dtrace/dtraceall/dtraceall.c file.PR: 220346Reviewed by: gnn, markjMFC after: 2 weeksDifferential Revision: https://reviews.freebsd.org/D12227
o Replace __riscv__ with __riscvo Replace __riscv64 with (__riscv && __riscv_xlen == 64)This is required to support new GCC 7.1 compiler.This is compatible with current GCC 6.1 compiler.RISC-V
o Replace __riscv__ with __riscvo Replace __riscv64 with (__riscv && __riscv_xlen == 64)This is required to support new GCC 7.1 compiler.This is compatible with current GCC 6.1 compiler.RISC-V is extensible ISA and the idea here is to have built-in defineper each extension, so together with __riscv we will have some subsetof these as well (depending on -march string passed to compiler):__riscv_compressed__riscv_atomic__riscv_mul__riscv_div__riscv_muldiv__riscv_fdiv__riscv_fsqrt__riscv_float_abi_soft__riscv_float_abi_single__riscv_float_abi_double__riscv_cmodel_medlow__riscv_cmodel_medany__riscv_cmodel_pic__riscv_xlenReviewed by: ngieSponsored by: DARPA, AFRLDifferential Revision: https://reviews.freebsd.org/D11901
Normalize SYSDIR on SRCTOP instead of .CURDIRThis is being done to simplify pathing for CFLAGS and source files.MFC after: 2 weeksSponsored by: Dell EMC Isilon
Stop building assym.o into the module.DTrace includes assym.s, to build this we build assym.o, howeverthis is unneeded as assym.s only contains macros.Remove the need to build this by removing i
Stop building assym.o into the module.DTrace includes assym.s, to build this we build assym.o, howeverthis is unneeded as assym.s only contains macros.Remove the need to build this by removing it from OBJS, but keep assym.sin the module dependencies via DPSRCS.This fixes the build when there is no assembler, e.g. on arm64 withoutthe external binutils.Submitted by: andrewMFC after: 2 weeksDifferential Revision: https://reviews.freebsd.org/D10041
Add an experimental DTrace audit provider, which allows users of DTrace toinstrument security event auditing rather than relying on conventional BSMtrail files or audit pipes:- Add a set of per-e
Add an experimental DTrace audit provider, which allows users of DTrace toinstrument security event auditing rather than relying on conventional BSMtrail files or audit pipes:- Add a set of per-event 'commit' probes, which provide access to particular auditable events at the time of commit in system-call return. These probes gain access to audit data via the in-kernel audit_record data structure, providing convenient access to system-call arguments and return values in a single probe.- Add a set of per-event 'bsm' probes, which provide access to particular auditable events at the time of BSM record generation in the audit worker thread. These probes have access to the in-kernel audit_record data structure and BSM representation as would be written to a trail file or audit pipe -- i.e., asynchronously in the audit worker thread.DTrace probe arguments consist of the name of the audit event (to supportfuture mechanisms of instrumenting multiple events via a single probe --e.g., using classes), a pointer to the in-kernel audit record, and anoptional pointer to the BSM data and its length. For human convenience,upper-case audit event names (AUE_...) are converted to lower case inDTrace.DTrace scripts can now cause additional audit-based data to be collectedon system calls, and inspect internal and BSM representations of the data.They do not affect data captured in the audit trail or audit pipesconfigured in the system. auditd(8) must be configured and running inorder to provide a database of event information, as well as other auditconfiguration parameters (e.g., to capture command-line arguments orenvironmental variables) for the provider to operate.Reviewed by: gnn, jonathan, markjSponsored by: DARPA, AFRLMFC after: 3 weeksDifferential Revision: https://reviews.freebsd.org/D10149
sys/modules: normalize .CURDIR-relative paths to SRCTOPThis simplifies make output/logicTested with: `cd sys/modules; make ALL_MODULES=` on amd64MFC after: 1 monthSponsored by: Dell EMC Isilon
Replace the implementation of DTrace's RAND subroutine for generatinglow-quality random numbers with a modern implementation (xoroshiro128+)that is capable of generating better quality randomness w
Replace the implementation of DTrace's RAND subroutine for generatinglow-quality random numbers with a modern implementation (xoroshiro128+)that is capable of generating better quality randomness without compromising performance.Submitted by: Graeme JenkinsonReviewed by: markjMFC after: 2 weeksSponsored by: DARPA, AFRLDifferential Revision: https://reviews.freebsd.org/D9051
Add full softfloat and hardfloat support for RISC-V.Hardfloat is now default (use riscv64sf as TARGET_ARCHfor softfloat).Sponsored by: DARPA, AFRLDifferential Revision: https://reviews.freebsd.
Add full softfloat and hardfloat support for RISC-V.Hardfloat is now default (use riscv64sf as TARGET_ARCHfor softfloat).Sponsored by: DARPA, AFRLDifferential Revision: https://reviews.freebsd.org/D8529
o Add support for long double.o Add support for latest RISC-V GNU toolchain.Sponsored by: DARPA, AFRLSponsored by: HEIF5
Revert r303911 "Remove extra -msoft-float flags settings."This was not properly tested.
Remove extra -msoft-float flags settings.This helps to build firmware modules.Sponsored by: DARPA, AFRLSponsored by: HEIF5
Include FBT to modules build on RISC-V.
Build DTrace assym.o with -msoft-float flag for RISC-V so we havecorrect flag in ELF file.Sponsored by: DARPA, AFRLSponsored by: HEIF5
Rename remaining linux32 symbols such as linux_sysent[] andlinux_syscallnames[] from linux_* to linux32_* to avoid conflicts withlinux64.ko. While here, add support for linux64 binaries to systrac
Rename remaining linux32 symbols such as linux_sysent[] andlinux_syscallnames[] from linux_* to linux32_* to avoid conflicts withlinux64.ko. While here, add support for linux64 binaries to systrace.- Update NOPROTO entries in amd64/linux/syscalls.master to match the main table to fix systrace build.- Add a special case for union l_semun arguments to the systrace generation.- The systrace_linux32 module now only builds the systrace_linux32.ko. module on amd64.- Add a new systrace_linux module that builds on both i386 and amd64. For i386 it builds the existing systrace_linux.ko. For amd64 it builds a systrace_linux.ko for 64-bit binaries.Reviewed by: markjDifferential Revision: https://reviews.freebsd.org/D3954
Implement the lockstat provider using SDT(9) instead of the custom providerin lockstat.ko. This means that lockstat probes now have typed arguments andwill utilize SDT probe hot-patching support wh
Implement the lockstat provider using SDT(9) instead of the custom providerin lockstat.ko. This means that lockstat probes now have typed arguments andwill utilize SDT probe hot-patching support when it arrives.Reviewed by: gnnDifferential Revision: https://reviews.freebsd.org/D2993
First cut of DTrace for AArch64.Reviewed by: andrew, emasteSponsored by: ARM LimitedDifferential Revision: https://reviews.freebsd.org/D2738
Set a dependancy on fbt module for ARM.
Initial version of DTrace on ARM32.Submitted by: Howard Su based on work by Oleksandr TymoshenkoReviewed by: ian, andrew, rpaulo, markj
Re-support CWARNFLAGS, lost when bsd.sys.mk was removed. Also, supportCWARNFALGS.$file centrally so we don't have to have it in all theplaces. Remove a few warning flags that are no longer needed.
Re-support CWARNFLAGS, lost when bsd.sys.mk was removed. Also, supportCWARNFALGS.$file centrally so we don't have to have it in all theplaces. Remove a few warning flags that are no longer needed.Also, always use -Wno-unknown-pragma to (hopefully temporarily) workaround #pragma ident in debug.h in the opensolaris code. Remove somestale warning suppression that's no longer necessary.
1234