18675 Commits

Author SHA1 Message Date
Enji Cooper
5ff880dc0f MFhead@r325004 2017-10-26 03:34:17 +00:00
Warner Losh
2703928ae4 Fix typo and bump .Dd date.
Noticed by: Richard Tector
Sponsored by: Netflix
2017-10-25 23:24:30 +00:00
Warner Losh
1170c2fecc Implement IPMI support for RB_POWRECYCLE
Some BMCs support power cycling the chassis via the chassis control
command 2 subcommand 2 (ipmitool called it 'chassis power cycle').  If
the BMC supports the chassis device, register a shutdown_final handler
that sends the power cycle command if request and waits up to 10s for
it to take effect. To minimize stack strain, we preallocate a ipmi
request in the softc. At the moment, we're verbose about what we're
doing.

Sponsored by: Netflix
2017-10-25 15:30:53 +00:00
Mark Johnston
64a16434d8 Add support for compressed kernel dumps.
When using a kernel built with the GZIO config option, dumpon -z can be
used to configure gzip compression using the in-kernel copy of zlib.
This is useful on systems with large amounts of RAM, which require a
correspondingly large dump device. Recovery of compressed dumps is also
faster since fewer bytes need to be copied from the dump device.

Because we have no way of knowing the final size of a compressed dump
until it is written, the kernel will always attempt to dump when
compression is configured, regardless of the dump device size. If the
dump is aborted because we run out of space, an error is reported on
the console.

savecore(8) is modified to handle compressed dumps and save them to
vmcore.<index>.gz, as it does when given the -z option.

A new rc.conf variable, dumpon_flags, is added. Its value is added to
the boot-time dumpon(8) invocation that occurs when a dump device is
configured in rc.conf.

Reviewed by:	cem (earlier version)
Discussed with:	def, rgrimes
Relnotes:	yes
Sponsored by:	Dell EMC Isilon
Differential Revision:	https://reviews.freebsd.org/D11723
2017-10-25 00:51:00 +00:00
Ruslan Bukin
d27927f731 Extract a set of pmcstat functions and interfaces to the new internal
library -- libpmcstat.

This includes PMC logging module, symbols lookup functions,
ELF parsing, process management, PMC attachment, etc.

This allows to reuse code while building new hwpmc(4)-based applications.

Also add pmcstat_symbol_search_by_name() function that allows to find
mapped IP range for a given function name.

Reviewed by:	kib
Sponsored by:	DARPA, AFRL
Differential Revision:	https://reviews.freebsd.org/D12718
2017-10-24 16:28:00 +00:00
Ed Maste
aa86fca1d1 uefi.8: mention use on (32-bit) arm
Sponsored by:	The FreeBSD Foundation
2017-10-23 20:32:18 +00:00
Enji Cooper
532979fa28 Don't require ${DESTDIR}${_gcno_dir} until install 2017-10-23 16:50:33 +00:00
Konstantin Belousov
c9b6b5826c Expand explanation of atomicity.
Mention per-location total order, out of thin air, and torn writes
guarantees.  Mention C11 standard' memory model and one most important
FreeBSD additional requirement, that is aligned ordinary loads and
stores are atomic on processors.

The text is introductional and informal.  Reference the C11 and
C++1{1,4,7} standards for authorative description.

In collaboration with:	alc
Sponsored by:	The FreeBSD Foundation (kib)
MFC after:	1 week
2017-10-23 16:14:55 +00:00
Enji Cooper
0ab79c3cc3 Move MK_COVERAGE fu before .include <bsd.mkopt.mk> so it's actually usable 2017-10-23 16:02:05 +00:00
Enji Cooper
7785423900 MFhead@r324914
Once more on to the MFC, my dear friends
2017-10-23 08:06:57 +00:00
Enji Cooper
dc404c7302 Fix tabs before the style police nags me 2017-10-23 08:04:56 +00:00
Enji Cooper
eb5c1cb298 Every day I'm shuffling (comments) to diff reduce 2017-10-23 08:03:59 +00:00
Enji Cooper
2e5ab5865f In the search of a perfect knob pairing
Why in the heck is it so dang complicated now?
2017-10-23 08:02:03 +00:00
Enji Cooper
0c095a65a1 Fix an omission in a comment
Soft float API support applies to armv7 too after r324340
2017-10-23 07:56:56 +00:00
Enji Cooper
e48a1f9cee Congrats riscv* : you unlike millions of americans will have coverage, even
if the ACA is repealed
2017-10-23 07:52:16 +00:00
Enji Cooper
45c85b6113 Die. Die. Die. Tinderbox failures on mips/powerpc 2017-10-23 07:30:52 +00:00
Enji Cooper
6f2b0ca7ac mips, you cause me too much grief with make tinderbox. Try this instead 2017-10-23 07:07:44 +00:00
Enji Cooper
171e4ce895 Use BROKEN_OPTIONS for MK_COVERAGE=no so it will be documented in src.conf(5) 2017-10-23 06:31:00 +00:00
Enji Cooper
2d19fcb30e Let's just nip gcc 4.2.1 in the bud and say MK_COVERAGE=no
Reasoning: gcc 4.2.1 lacks -fprofile-dir support
2017-10-23 05:36:39 +00:00
Enji Cooper
1375d29aad Fix typo in previous commit
My brain was remembering the spelling of the C++ variable, not the option.
2017-10-23 05:26:21 +00:00
Enji Cooper
6da44d7324 Use -fprofile_dir=${COVERAGEDIR} with --coverage
This option implies that it will automatically prefix .gcda files, when
created, thus allowing for the desired prefixing I've added in via bsd.cov.mk .

This option is only available in clang and later versions of gcc, so I'll
likely have to mark MK_COVERAGE broken from a "fully-fledged feature"
perspective, as I don't want to go through the annoyance of implementing the
feature in gcc and testing it.
2017-10-23 05:19:40 +00:00
Enji Cooper
88d87eb638 Handle host builds
If TARGET_ARCH isn't defined, fallback to MACHINE_ARCH.

This is a followup to r324873.

PR:		222925
2017-10-23 04:20:11 +00:00
Enji Cooper
b28b665cbe Need to make all of the variables immediate, or the last value for _gcno_dir wins
This is particularly fun when relative paths are embedded in SRCS, like
lib/libclang_rt does (which I argue is ripe for corruption via parallel
builds).
2017-10-23 00:56:59 +00:00
Enji Cooper
dd467c8ac1 MFhead@r324884 2017-10-22 23:40:49 +00:00
Enji Cooper
2d457ca3c7 Restore gcc 4.8 version check
I accidentally broke it when making changes
2017-10-22 23:36:43 +00:00
Enji Cooper
875ad66bca Remove BROKEN_OPTIONS/MK_COVERAGE=no for gcc cross-toolchain reliant archs
The cross-toolchain gcc toolchains aren't installing libgcov.a, but the host
toolchain variants are. Don't hack around broken packages in the base system.

PR:		223174
2017-10-22 21:39:58 +00:00
Enji Cooper
69735ece08 Define TARGET_CPUARCH and use in libclang_rt as the basis for CRTARCH
When cross-compiling, the wrong architecture was being embedded in the
libclang_rt binary filenames. It should be based on TARGET_ARCH (target), not
MACHINE_ARCH (host).

This is a draft commit against my project branch. Will fix on ^/head soon.

PR:	222925
2017-10-22 21:34:37 +00:00
Enji Cooper
48c54cbc90 Create GCNOS directories at install time if needed
Add GCNOS{GRP,MODE,OWN} for parity with FILES{GRP,MODE,OWN}. The defaults are
based on BIN{GRP,MODE,OWN}.

GCNOSDIRMODE is added, strictly for configurability, if need be.
2017-10-22 21:00:59 +00:00
Enji Cooper
66d0c18afc Only try handling mutating GCNOS if SRCS is not empty
This should cure the logspam in certain directory about SRCS:M not evaluating
properly, e.g., etc/
2017-10-22 11:45:51 +00:00
Bruce M Simpson
ab28146b6c Modernise this man page somewhat.
1. Add a reference to a good 3rd party list of compatible cables, but
provide suggestions for 'known good' vendors.

2. Change IP-based USB host-host example to a modern Ethernet one which
works 'out of box' with current Linux systems.

3. Explain that USB 3.0 is host-host, even though point-to-point soft
Ethernet can be achieved.

MFC after:	3 weeks
2017-10-22 11:40:55 +00:00
Enji Cooper
174694331c Do direct comparisons with TARGET for armv6/armv7
This simplifies the conditionals
2017-10-22 11:21:31 +00:00
Enji Cooper
0da813c057 Document /usr/lib/cov (COVERAGEDIR) in hier(7) 2017-10-22 08:42:01 +00:00
Enji Cooper
246bcd9f73 MFhead@r324851 2017-10-22 07:58:28 +00:00
Enji Cooper
7c6052349c Regenerate src.conf(5) after r324340 (armv7 addition) 2017-10-22 07:36:28 +00:00
Enji Cooper
051c9c6839 It _was_ .gcno's, not .gcda's that get produced with cc --coverage
Try to install them instead of the .gcda's, since the .gcda's likely won't exist.

TODO: verify that installworld does indeed do the right thing.

Ref: gcc(1) -ftest-coverage description; --coverage (option in use) is an alias
     for -fprofile-arcs -ftest-coverage
2017-10-22 07:12:55 +00:00
Enji Cooper
71ae7bc6a2 Have to evaluate GCDAS immediately b/c I .undef'ed the _GCDAS_SRCS var later.
Otherwise GCDAS will be empty. Womp womp.
2017-10-22 00:10:18 +00:00
Enji Cooper
0a8f81bc28 MFhead@r324837
While here, diff reduce some of the changes in sys/boot by moving
MK_COVERAGE=no to sys/boot/Makefile.inc .
2017-10-21 23:40:52 +00:00
Enji Cooper
cfe42233f8 Fix typo in prior commit with stray colon after :M 2017-10-21 23:37:41 +00:00
Enji Cooper
b0c7b002ca Mark MK_COVERAGE broken for arm64/arm* 2017-10-21 23:27:20 +00:00
Stefan Eßer
09fdf1f84c Mention sysrc(8) as scripting interface for the modification of config
files. This is a follow up commit to r324721, which added sysrc(8) to
the SEE ALSO list.

Submitted by:	Kurt Jaeger (lists at opsec.eu)
MFC after:	1 week
2017-10-21 16:55:52 +00:00
Alan Somers
9e9a610115 Use the .Fx macro consistently.
Sponsored by:	Spectra Logic Corp
2017-10-20 15:29:28 +00:00
Alan Somers
05bc55f222 Fix the mps(4) HISTORY section.
Looks like a copy/paste error from r302673.

MFC after:	3 weeks
Sponsored by:	Spectra Logic Corp
2017-10-20 15:24:28 +00:00
Stefan Eßer
e5accd3ca1 Add references to sysrc(8).
Reported by:	Kurt Jaeger (lists at opsec.eu)
2017-10-18 13:25:44 +00:00
Jonathan Anderson
4f2fac3759 Improve computation of {BC,LL}OBJS.
Now that OBJS has grown an OBJS_SRCS_FILTER variable, use this variable
in the computation of BCOBJS and LLOBJS too. Also move BCOBJS and LLOBJS
computation to be next to the OBJS computation: this should both make
the parallel structure clearer and serve to remind people changing OBJS
that parallel changes are required in BCOBJS and LLOBJS.

A side effect of this change is that BCOBJS and LLOBJS will be available
even when LLVM_LINK has not been defined, but that seems like a positive
change: there's no reason we can't ask "what bitcode files would you
generate" just because we can't link those files together into a
complete bitcode representation of a binary or library.

Reviewed by:	sjg
Sponsored by:	DARPA, AFRL
Differential Revision:	https://reviews.freebsd.org/D12701
2017-10-18 00:33:20 +00:00
Jonathan Anderson
6f6b66a827 Improve logic of CLEANFILES+=${PROG_FULL}.{bc,ll}.
The build rule describing how to create ${PROG_FULL}.{bc,ll} is only
dependent on LLVM_LINK being defined, not on MK_DEBUG_FILES being "yes".
Move the addition of ${PROG_FULL}.{bc,ll} out of the conditional block
under `.if ${MK_DEBUG_FILES} != "no"` and up next to where the build
rules for ${PROG_FULL}.{bc,ll} are defined.

Reviewed by:	emaste
MFC after:	1 week
Sponsored by:	DARPA, AFRL
Differential Revision:	https://reviews.freebsd.org/D12703
2017-10-18 00:30:15 +00:00
Brooks Davis
39ed7f250a Remove mbpool(9) now that it has no consumers.
mbpool existed to support NICs with memory interfaces and all remaining
comsumers were removed earlier this year with NATM.

Reviewed by:	jhb
Sponsored by:	DARPA, AFRL
Differential Revision:	https://reviews.freebsd.org/D10513
2017-10-18 00:18:03 +00:00
Jonathan Anderson
fd8103ed43 Add LLVM IR libraries to CLEANFILES.
We previously taught the build system how to create files like libfoo.bc,
but neglected to teach it about cleaning such files up. Rectify this now.

MFC after:	1 week
Sponsored by:	DARPA, AFRL
2017-10-17 16:29:50 +00:00
Maxim Konovalov
a71a5d885f DragonFly 5.0.0 release added. 2017-10-17 14:37:12 +00:00
Alexander Motin
0c40a4ac61 Update details of interface capabilities changed by bridge(4).
PR:		221122
MFC after:	1 week
2017-10-16 12:32:57 +00:00
Matt Joras
333dcaa498 Add clearing function for unr(9).
Previously before you could call unrhdr_delete you needed to
individually free every allocated unit. It is useful to be able to tear
down the unr without having to go through this process, as it is
significantly faster than freeing the individual units.

Reviewed by:	cem, lidl
Approved by:	rstone (mentor)
Sponsored by:	Dell EMC Isilon
Differential Revision:	https://reviews.freebsd.org/D12591
2017-10-11 21:53:50 +00:00