freebsd-dev/share/mk
Simon J. Gerraty afc571b1a6 veloader use vectx API for kernel and modules
The vectx API, computes the hash for verifying a file as it is read.
This avoids the overhead of reading files twice - once to verify, then
again to load.

For doing an install via loader, avoiding the need to rewind
large files is critical.

This API is only used for modules, kernel and mdimage as these are the
biggest files read by the loader.
The reduction in boot time depends on how expensive the I/O is
on any given platform.  On a fast VM we see 6% improvement.

For install via loader the first file to be verified is likely to be the
kernel, so some of the prep work (finding manifest etc) done by
verify_file() needs to be factored so it can be reused for
vectx_open().

For missing or unrecognized fingerprint entries, we fail
in vectx_open() unless verifying is disabled.

Otherwise fingerprint check happens in vectx_close() and
since this API is only used for files which must be verified
(VE_MUST) we panic if we get an incorrect hash.

Reviewed by:	imp,tsoome
MFC after:	1 week
Sponsored by:	Juniper Networks
Differential Revision:	https://reviews.freebsd.org//D23827
2020-03-08 17:42:42 +00:00
..
atf.test.mk Another round of attempting to squelch -Wdeprecated-declarations, which 2019-09-17 06:07:08 +00:00
auto.obj.mk Ensure .OBJDIR has known value 2017-11-04 21:02:26 +00:00
bsd.arch.inc.mk
bsd.clang-analyze.mk Move all sources from the llvm project into contrib/llvm-project. 2019-12-20 19:53:05 +00:00
bsd.compat.mk compat: Allow explicit overriding of COMPAT_ARCH and COMPAT_CPUTYPE 2020-03-07 03:58:58 +00:00
bsd.compiler.mk Use __ as the separator for the exported vars in bsd.compiler/linker.mk 2019-11-15 16:43:36 +00:00
bsd.confs.mk pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
bsd.cpu.mk Remove sparc64 specific buid-system hacks 2020-02-26 18:49:20 +00:00
bsd.crunchgen.mk rescue: Restore 'make depend' call to fix WITH_META_MODE after r334008. 2018-05-24 18:49:19 +00:00
bsd.dep.mk Allow per-file lex and yacc options. 2019-11-15 21:19:06 +00:00
bsd.dirs.mk pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
bsd.doc.mk pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
bsd.dtb.mk Introduce bsd.sysdir.mk to consolidate looking for the kernel. 2019-11-21 15:59:33 +00:00
bsd.endian.mk Remove sparc64 specific buid-system hacks 2020-02-26 18:49:20 +00:00
bsd.files.mk Use ${.ALLSRC:Ninstalldirs-*} instead of assuming order of .ALLSRC 2019-12-10 12:12:48 +00:00
bsd.incs.mk pkgbase: Add tags for includes in bsd.incs.mk 2019-09-05 14:16:39 +00:00
bsd.info.mk Revert r301079. 2016-06-03 19:25:36 +00:00
bsd.init.mk Consider *clean targets as non-build targets as well. 2019-07-04 14:51:44 +00:00
bsd.kmod.mk Introduce bsd.sysdir.mk to consolidate looking for the kernel. 2019-11-21 15:59:33 +00:00
bsd.lib.mk Remove sparc64 specific buid-system hacks 2020-02-26 18:49:20 +00:00
bsd.libnames.mk Introduce stats(3), a flexible statistics gathering API. 2019-10-07 19:05:05 +00:00
bsd.linker.mk Take LINKER_FREEBSD_VERSION from numerical field after dash 2020-02-19 21:12:59 +00:00
bsd.links.mk Reapply r295227: Stop hiding link install commands. 2017-11-06 19:33:50 +00:00
bsd.man.mk Correct link metadata created when installing with -DNO_ROOT. 2018-06-29 16:07:56 +00:00
bsd.mkopt.mk Document logic for __DEFAULT_DEPENDENT_OPTIONS 2019-09-16 00:32:23 +00:00
bsd.nls.mk Move all of the directory path into the DIR part of the component and make the 2018-05-31 13:26:12 +00:00
bsd.obj.mk AUTO_OBJ: Don't create nested OBJDIRS with print-dir or make -n. 2017-12-06 21:00:41 +00:00
bsd.opts.mk Make the warning for deprecated NO_ variables an error. 2020-02-12 18:09:20 +00:00
bsd.own.mk Standardize EFI's ESP mount point. 2019-11-20 21:06:29 +00:00
bsd.port.mk
bsd.port.options.mk
bsd.port.post.mk
bsd.port.pre.mk
bsd.port.subdir.mk
bsd.prog.mk Add -mno-relax to CFLAGS in bsd.prog/lib.mk instead of bsd.cpu.mk. 2020-01-08 17:49:34 +00:00
bsd.progs.mk PROGS: Build common sources before recursed PROGS_TARGETS as well when building. 2019-09-04 18:32:11 +00:00
bsd.README Allow bsd.compat.mk to be reliably included outside Makefile.inc1. 2019-10-31 20:37:19 +00:00
bsd.snmpmod.mk Rework some multi-output target dependency handling. 2019-07-19 00:15:25 +00:00
bsd.subdir.mk installdirs can be a recursive/standalone target. 2018-09-17 22:15:09 +00:00
bsd.suffixes-posix.mk Extract suffix rules into bsd.suffixes[-posix].mk. 2016-10-12 00:42:46 +00:00
bsd.suffixes.mk Similar to r335710 avoid ccache when linking a .cc file directly. 2019-06-15 17:08:18 +00:00
bsd.symver.mk
bsd.sys.mk Remove sparc64 specific buid-system hacks 2020-02-26 18:49:20 +00:00
bsd.sysdir.mk Introduce bsd.sysdir.mk to consolidate looking for the kernel. 2019-11-21 15:59:33 +00:00
bsd.test.mk Add googletest.test.mk and integrate into bsd.test.mk 2019-02-20 01:09:03 +00:00
dirdeps-options.mk Use .undef per variable 2019-01-15 23:35:53 +00:00
dirdeps-targets.mk Update dirdeps.mk and gendirdeps.mk 2019-12-11 17:38:15 +00:00
dirdeps.mk Update dirdeps.mk and gendirdeps.mk 2019-12-11 17:38:15 +00:00
gendirdeps.mk Update dirdeps.mk and gendirdeps.mk 2019-12-11 17:38:15 +00:00
googletest.test.inc.mk Work around two -Werror warning issues in googletest, which have been 2020-01-31 18:26:23 +00:00
googletest.test.mk Fix a typo 2019-02-21 03:36:09 +00:00
host-target.mk
install-new.mk
kmod.opts.mk Add a kmod.opts.mk. 2019-11-21 18:14:26 +00:00
local.autodep.mk Update dirdeps.mk et al to latest 2018-08-02 21:33:45 +00:00
local.dirdeps-options.mk retire BSD_CRTBEGIN option 2020-01-31 18:04:04 +00:00
local.dirdeps.mk retire the LLVM_LIBUNWIND option 2020-02-29 12:43:43 +00:00
local.gendirdeps.mk retire the LLVM_LIBUNWIND option 2020-02-29 12:43:43 +00:00
local.init.mk
local.meta.sys.mk Remove sparc64 specific buid-system hacks 2020-02-26 18:49:20 +00:00
local.sys.env.mk AUTO_OBJ: Hide 'creating dirs' output with 'make -s'. 2017-11-08 16:03:58 +00:00
local.sys.mk META_MODE: Delete build targets that fail. 2019-06-15 17:08:28 +00:00
Makefile Install bsd.sysdir.mk. 2019-11-21 19:54:10 +00:00
meta2deps.py Update dirdeps.mk et al to latest 2018-08-02 21:33:45 +00:00
meta2deps.sh retire the LLVM_LIBUNWIND option 2020-02-29 12:43:43 +00:00
meta.autodep.mk Update dirdeps.mk et al to latest 2018-08-02 21:33:45 +00:00
meta.stage.mk Update dirdeps.mk et al to latest 2018-08-02 21:33:45 +00:00
meta.subdir.mk
meta.sys.mk Update dirdeps.mk and gendirdeps.mk 2019-12-11 17:38:15 +00:00
netbsd-tests.test.mk
plain.test.mk Feex a cuple of small typos 2018-07-27 10:44:38 +00:00
src.init.mk
src.libnames.mk remove GCC 4.2.1 build infrastructure 2020-02-29 03:25:51 +00:00
src.lua.mk Add flua to the base system, install to /usr/libexec 2019-11-18 23:21:13 +00:00
src.opts.mk veloader use vectx API for kernel and modules 2020-03-08 17:42:42 +00:00
src.sys.env.mk META_MODE: Allow 'make all install' to work with filemon. 2020-01-17 14:29:27 +00:00
src.sys.mk Enable AUTO_OBJ by default if the OBJDIR is writable, only for in-tree builds. 2017-11-02 18:09:07 +00:00
src.sys.obj.mk tinderbox: Only build clang/lld once if needed. 2018-06-27 16:58:10 +00:00
stage-install.sh
suite.test.mk In suite.test.mk, test if ${DESTDIR} exists before attempting to run 2019-09-25 17:52:59 +00:00
sys.dependfile.mk Merge bmake-20160307 2016-03-11 01:35:39 +00:00
sys.mk arm: Use -O2 instead of -O as optimization flag 2019-07-22 10:17:59 +00:00
tap.test.mk Feex a cuple of small typos 2018-07-27 10:44:38 +00:00
version_gen.awk share and pc-sysinstall: adoption of SPDX licensing ID tags. 2017-11-27 15:28:26 +00:00