Commit Graph

17935 Commits

Author SHA1 Message Date
jhb
249c1a242e Reliably return PCI_GETCONF_LAST_DEVICE from PCIOCGETCONF.
Previously the loop in PCIIOCGETCONF would terminate as soon as it
found enough matches.  Now it will continue iterating through the
PCI device list and only terminate if it finds another matching device
for which it has no room to store a conf structure.  This means that
PCI_GETCONF_LAST_DEVICE is reliably returned when the number of
matching devices is equal to the number of slots in the matches
buffer.  For example, if a program requests the conf structure for a
single PCI function with a specified domain/bus/slot/function it will
now get PCI_GETCONF_LAST_DEVICE instead of PCI_GETCONF_MORE_DEVS.

While here, simplify the loop conditional a bit more by explicitly
breaking out of the loop if copyout() fails and removing a redundant
i < pci_numdevs check.

Reviewed by:	vangyzen, imp
MFC after:	1 month
Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D7445
2016-08-09 17:57:11 +00:00
bjk
dcf52f0e1c Re-correct the documentation for the 'type' parameter of the _SWAP
macros from sys/queue.h -- only the singly-linked forms do not need
the 'field' argument.

Pointy Hat to:	bjk
Reported by:	akshay1994.leo_gmail.com
2016-08-06 19:12:23 +00:00
bcr
769f6582fe Update with the members of the 9th core team. 2016-08-06 17:53:53 +00:00
bjk
a9e0f6bffa Correct the documentation of the 'type' parameter for the _SWAP
macros from sys/queue.h

Submitted by:	akshay1994.leo_gmail.com (for STAILQ)
Differential Revision:	https://reviews.freebsd.org/D7428
2016-08-06 17:27:07 +00:00
trasz
bf38da8e92 Remove lockmgr_waiters(9) and BUF_LOCKWAITERS(9); they were not used
for anything.

Reviewed by:	kib@
MFC after:	1 month
Differential Revision:	https://reviews.freebsd.org/D7420
2016-08-05 13:53:28 +00:00
pluknet
a01486193e Grammar fixes. 2016-08-04 11:38:53 +00:00
pluknet
db6a1e9887 mdoc: The .Fn function. 2016-08-04 11:22:51 +00:00
maxim
0bceca5df7 DragonFly 4.6.0 release added. 2016-08-04 10:49:00 +00:00
jhb
1c471b6b39 Permit the name of the /dev/iov entry to be set by the driver.
The PCI_IOV option creates character devices in /dev/iov for each PF
device driver that registers support for creating VFs.  By default the
character device is named after the PF device (e.g. /dev/iov/foo0).
This change adds a variant of pci_iov_attach() called pci_iov_attach_name()
that allows the name of the /dev/iov entry to be specified by the
driver.

Reviewed by:	rstone
MFC after:	1 month
Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D7400
2016-08-03 17:09:12 +00:00
julian
d3889d79da Man page for the new checksum netgraph module.
PR:		206186
Submitted by:	Dmitry Vagin <daemon.hammer@ya.ru>
MFC after:	 1 month
2016-08-01 12:14:21 +00:00
adrian
7d8b87ab3b [gpioled] update manpage.
Submitted by:	Dan Nelson <dnelson_1901@yahoo.com>
2016-07-31 06:53:50 +00:00
markj
3ded4ca51d libproc: Add proc_getmodel().
This is used by libdtrace to determine the data model of target processes.
This allows for the creation of pid provider probes in 32-bit processes on
amd64.

MFC after:	1 month
2016-07-30 03:09:23 +00:00
markj
da3555a6b6 librtld_db: Use the auxv to figure out where to look up loader symbols.
Previously, librtld_db just hardcoded /libexec/ld-elf.so, which isn't
correct for processes that aren't using the native ABI. With this change,
librtld_db can be used to inspect non-native processes; in particular,
dtrace -c now works for 32-bit executables on amd64.

MFC after:	1 month
2016-07-30 03:05:23 +00:00
vangyzen
639888d788 Fix two return types in the cpuset(9) and bitset(9) man pages
The *_FFS() and *_COUNT() functions return int, not size_t.

MFC after:	3 days
Sponsored by:	Dell Inc.
2016-07-29 21:12:48 +00:00
mav
2073003786 Once more refactor KPI between ntb_transport(4) and if_ntb(4)..
New design allows to attach multiple consumers to ntb_transport(4) instance.
Previous design obtained from Linux theoretically allowed that, but was not
practically usable (Linux also has only one consumer driver now).
2016-07-29 17:15:41 +00:00
br
8d8cea7deb Normalise the CWARNFLAGS inter-word spacing: remove all leading
and trailing space, and convert multiple consecutive spaces to
single space.

This helps to keep build output looking good.
2016-07-28 17:18:02 +00:00
emaste
d108bf1437 Regenerate src.conf.5 after r303394 2016-07-28 13:35:46 +00:00
mav
910e26641a Once more refactor KPI between NTB hardware and consumers.
New design allows hardware resources to be split between several consumers.
For example, one BAR can be dedicated for remote memory access, while other
resources can be used for packet transport for virtual Ethernet interface.
And even without resource split, this code allows to specify which consumer
driver should attach the hardware.

From some points this makes the code even closer to Linux one, even though
Linux does not provide the described flexibility.
2016-07-28 10:48:20 +00:00
kib
2b85baaf40 Extract the calculation of the callout fire time into the new function
callout_when(9).  See the man page update for the description of the
intended use.

Tested by:	pho
Reviewed by:	jhb, bjk (man page updates)
Sponsored by:	The FreeBSD Foundation
MFC after:	1 month
X-Differential revision:	https://reviews.freebsd.org/D7137
2016-07-28 08:57:01 +00:00
jkim
283ee2222c Add a hack to add weekday to date format for ko_KR locale. 2016-07-27 18:12:36 +00:00
emaste
d20793840b Enable LLVM libunwind by default on amd64 and i386
It is a maintained and updated runtime exception stack unwinder that
should be a drop-in replacement.

It can be disabled by setting WITHOUT_LLVM_LIBUNWIND in src.conf.

PR:		206039 [exp-run]
Sponsored by:	The FreeBSD Foundation
2016-07-27 16:01:44 +00:00
emaste
2c03309f28 Remove ${OBJDUMP} as it is not used by the base system
It was added to sys.mk relatively recently (r274503) for EFI builds
but is no longer used by the base system. The in-tree binutils are
outdated, will not be updated, and will be removed in the future.
Remove it from the toolchain build now to slightly simplify the build
and make sure we don't grow an accidental dependency.

Note that this affects only the toolchain build, and does not affect
/usr/bin/objdump in the built world.

Reviewed by:	bdrewery
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D6460
2016-07-27 14:58:15 +00:00
emaste
24cd15a9c8 syscons,vt: improve phrasing in kern.vty man page description
Submitted by:	wblock
2016-07-27 14:12:04 +00:00
kevlo
7a1b7752f3 Regenerate timedef for zh_TW.
Reviewed by:	bapt
2016-07-27 08:11:08 +00:00
kevlo
56d8f68d9f Add weekday to the date format. 2016-07-27 00:46:48 +00:00
ivadasz
a59a89718a Mention AC3165 and AC8260 chipsets in iwm(4) and mention AC3165 in iwmfw(4)
- Support for the AC3165 and AC8260 chipsets was added by r303322 and r303327.

Approved by:	adrian (mentor)
Differential Revision:	https://reviews.freebsd.org/D7322
2016-07-26 21:27:02 +00:00
phil
6918be444a Fix start date to not be in the future.
Submitted by:	phil
Reviewed by:	sjg (mentor)
Approved by:	sjg
2016-07-26 18:27:48 +00:00
bdrewery
411b27c6e4 Add links for bit_ffc_at(3) and bit_ffs_at(3).
MFC after:	3 days
2016-07-26 03:47:16 +00:00
sbruno
d6bd5f76ba Update iwmfw(4) to include support for 8260 series units and update
f/w for the other devices supported by this driver.

Patch linked in https://reviews.freebsd.org/D6967 but not actually
a part of the review.

Obtained from DragonflyBSD.

Submitted by:   Kevin Bowling <kev009@kev009.com>
MFC after:      2 weeks
Relnotes:       yes
2016-07-25 23:05:25 +00:00
rene
bf816b8ee1 miwi resigned from FreeBSD, update the graph 2016-07-25 20:49:16 +00:00
br
899e79ab1c Fix style. 2016-07-24 18:04:12 +00:00
bapt
6488205077 Add weekday to the date format of more locales
MFC after:	1 day
2016-07-23 11:25:34 +00:00
kib
5fbe67effd Implement mtx_trylock_spin(9).
Discussed with:	bde
Reviewed by:	jhb
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D7192
2016-07-23 05:30:55 +00:00
mizhka
47bfac8f3a [new-committer:mizhka] add committer into graph
Approved by: adrian (mentor)
Differential Revision: https://reviews.freebsd.org/D7288
2016-07-22 21:49:41 +00:00
jhb
f51eacacab Update after r303154 to note that operations on local files are safe. 2016-07-22 20:52:40 +00:00
br
f96b095193 Set the soft-float flag for assembly code as well.
This fixes compilation with GCC 6.1.

Sponsored by:	DARPA, AFRL
2016-07-22 15:22:49 +00:00
br
702f33ca74 Add warn flags for GCC 6.1 compiler.
Sponsored by:	DARPA, AFRL
2016-07-22 15:00:38 +00:00
jhb
6db41da768 Add more documentation regarding unsafe AIO requests.
The asynchronous I/O changes made previously result in different
behavior out of the box. Previously all AIO requests failed with
ENOSYS / SIGSYS unless aio.ko was explicitly loaded. Now, some AIO
requests complete and others ("unsafe" requests) fail with EOPNOTSUPP.

Reword the introductory paragraph in aio(4) to add a general
description of AIO before describing the vfs.aio.enable_unsafe sysctl.

Remove the ENOSYS error description from aio_fsync(2), aio_read(2),
and aio_write(2) and replace it with a description of EOPNOTSUPP.

Remove the ENOSYS error description from aio_mlock(2).

Log a message to the system log the first time a process requests an
"unsafe" AIO request that fails with EOPNOTSUPP. This is modeled on
the log message used for processes using the legacy pty devices.

Reviewed by:	kib (earlier version)
MFC after:	1 week
Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D7151
2016-07-21 22:49:47 +00:00
kib
74c216beb6 Remove spurious but harmless double-quote.
Noted by:	jhb
2016-07-21 16:58:53 +00:00
kib
3100997739 Improve typesetting.
Reviewed by:	bapt
No objections from:	emaste
Sponsored by:	The FreeBSD Foundation
Differential revision:	https://reviews.freebsd.org/D7261
2016-07-21 09:37:17 +00:00
bdrewery
94dfa3df88 Add LOCAL_XTOOL_DIRS to add into cross-tools.
Sponsored by:	EMC / Isilon Storage Division
2016-07-21 06:06:11 +00:00
mav
c7b44d4daa Cross-link some SMBus controller drivers man pages.
Some compatibility cases are not obvious.
2016-07-20 20:18:52 +00:00
mav
161f0a8aa2 Document list of supported chipsets. 2016-07-20 20:10:37 +00:00
mav
2d12f0eb50 Remove outdated list of supported chipsets, generalizing it. 2016-07-20 11:04:49 +00:00
stevek
eb26e78552 Add myself (stevek) as a src committer and mentor (sjg) to committers-src.dot
Approved by:	sjg (mentor)
2016-07-20 04:25:09 +00:00
emaste
5e29f20899 arch.7: correct MIPS endianness transcription error
Submitted by:	Nikolai Lifanov <lifanov@mail.lifanov.com>
2016-07-19 20:11:50 +00:00
emaste
079678a0dc arch.7: we also use 1M page mappings on armv6
Submitted by:	alc
2016-07-19 19:50:30 +00:00
cem
0003e8b4fd Increase vt(4) framebuffer maximum size
And rename "DEFAULT" constants to the more accurate "MAX."

PR:		210382
Submitted by:	Felix <felixphew0 at gmail.com>
Reviewed by:	wblock, cem
Tested by:	Dave Cottlehuber <dch at skunkwerks.at>
2016-07-19 19:20:47 +00:00
rene
e20ebced2a erwin stepped down from portmgr, update the graph. 2016-07-19 19:13:01 +00:00
emaste
f318deff8b add an arch.7 man page with architecture-specific details
Based on details collected on the wiki, at
https://wiki.freebsd.org/EdMaste/ArchitectureSpecifics
Further details to be added over time.

Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D7096
2016-07-19 17:46:09 +00:00
gjb
6d8282013d Fix the previous commit to the family tree file. It is too early
to list 11.0, and we do not list -CURRENT here.

Submitted by:	maxim
Sponsored by:	The FreeBSD Foundation
2016-07-19 16:55:16 +00:00
gjb
d0ec0a580f Belatedly add FreeBSD 11.0 and 12.0 to the family tree file.
Submitted by:	des (a while back)
Sponsored by:	The FreeBSD Foundation
2016-07-19 16:34:49 +00:00
jhb
35927cc862 Add documentation for the sigevent structure.
- Add a sigevent(3) manpage to give a general overview of the sigevent
  structure and the available notification mechanisms.
- Document that AIO requests contain a nested sigevent structure that can
  be used to request completion notification.
- Expand the sigevent details in other manuals to note details such as
  the extra values stored in a queued signal's information or in a posted
  kevent.

Reviewed by:	kib
MFC after:	3 days
Differential Revision:	https://reviews.freebsd.org/D7122
2016-07-15 15:12:56 +00:00
jhb
6b9c917a55 Fix rendering issues.
- Use Ta to separate column headers.
- Correct width of the 'Code' column in the last table.

MFC after:	3 days
Differential Revision:	https://reviews.freebsd.org/D7118
2016-07-14 23:35:55 +00:00
markj
145f7fadb8 Document DDB's "alltrace" and "show all trace" commands.
MFC after:	3 days
2016-07-14 00:42:27 +00:00
markj
a04ed73d0b Remove more references to mroute6d, which was removed in r298512. 2016-07-14 00:41:37 +00:00
bdrewery
c9ee3263a5 Revert r302670 and r302671 for now.
MACHINE_CPUARCH smells like MACHINE except for arm64/aarch64 which
has it backwards.
2016-07-13 01:35:53 +00:00
slm
5f07c00b7b Use real values to calculate Max I/O size instead of guessing.
Reviewed by:	ken, scottl
Approved by:	ken, scottl, ambrisko (mentors)
MFC after:	3 days
Differential Revision:	https://reviews.freebsd.org/D7043
2016-07-12 19:34:10 +00:00
bdrewery
b97599e1f2 Create one list of replacements for MACHINE_CPUARCH as MACHINE_CPUARCH_SUB.
This also adds missing s/aarch64/arm64 to the sys.mk version and also
adds back armv6hf for universe since it was added to the sys.mk version
in r300438.

MFC after:	3 days
Sponsored by:	EMC / Isilon Storage Division
Differential Revision:	https://reviews.freebsd.org/D7159
2016-07-12 18:57:25 +00:00
yongari
9f48a8aae8 Belatedly remove CSUM_IP_FRAGS and CSUM_FRAGMENT offloading
capabilities.  It was removed in r243624 and r254804/r271006
respectively.
This file and mbuf(9) needs updates for other offloading
capabilities(i.e. CSUM_SCTP and CSUM_TSO).
2016-07-11 06:49:56 +00:00
mav
25dd4cce79 Replace NTB man page with more detailed and up to date.
Sponsored by:	iXsystems, Inc.
2016-07-10 10:17:38 +00:00
tcberner
66f28ed9f1 Add myself (tcberner) as ports committer, and update mentor/mentee relationships.
Approved by:	rakuco (mentor)
2016-07-09 11:22:11 +00:00
badger
fcc2b6beaf Add myself to the src committers graph.
Approved by:	re (gjb), kib (mentor)
2016-07-06 03:23:07 +00:00
gjb
a3c1e79a1b Correct a manual page reference.
Approved by:	re (kib)
Sponsored by:	The FreeBSD Foundation
2016-07-05 23:03:57 +00:00
glebius
2b2f782761 The paradigm of a callout is that it has three consequent states:
not scheduled -> scheduled -> running -> not scheduled. The API and the
manual page assume that, some comments in the code assume that, and looks
like some contributors to the code also did. The problem is that this
paradigm isn't true. A callout can be scheduled and running at the same
time, which makes API description ambigouous. In such case callout_stop()
family of functions/macros should return 1 and 0 at the same time, since it
successfully unscheduled future callout but the current one is running.
Before this change we returned 1 in such a case, with an exception that
if running callout was migrating we returned 0, unless CS_MIGRBLOCK was
specified.

With this change, we now return 0 in case if future callout was unscheduled,
but another one is still in action, indicating to API users that resources
are not yet safe to be freed.

However, the sleepqueue code relies on getting 1 return code in that case,
and there already was CS_MIGRBLOCK flag, that covered one of the edge cases.
In the new return path we will also use this flag, to keep sleepqueue safe.

Since the flag CS_MIGRBLOCK doesn't block migration and now isn't limited to
migration edge case, rename it to CS_EXECUTING.

This change fixes panics on a high loaded TCP server.

Reviewed by:	jch, hselasky, rrs, kib
Approved by:	re (gjb)
Differential Revision:	https://reviews.freebsd.org/D7042
2016-07-05 18:47:17 +00:00
bapt
929f609fc0 Add the forgotten "svn mv" from r302329
Reported by:	Ivan Klymenko <fidaj@ukr.net>
Approved by:	re (implicit)
2016-07-03 19:31:21 +00:00
bapt
9889527f5a Posixify the locales name for variants
For all locales with variants:
- if no ambiguity on the locale (only one variant) just use the regular name
- if ambiguity, pick one as default and append @<variant> to the others
  respecting POSIX

As a result:
- All the 3 components locales added recently are renamed to the usual 2
  components version for all but sr_RS.UTF-8
- Set sr_RS.UTF-8 to the cyrillic variant
- Add sr_RS.UTF-8@latin
- Remove the symlinks aliases they were created to represent the 2 components
  version as aliasas and are now useless
- Update the OptionalObsoleteFiles.inc and ObsoleteFiles.inc to reflect those
  changes

Discussed with:	ache@
Approved by:	re@ (gjb)
2016-07-03 18:21:11 +00:00
bdrewery
5c68448b2f Don't warn about needing filemon for makeman.
r287879 wasn't quite enough here since Makefile.inc1 is running
'make -C release -V VERSION' and hitting the warning.

Reported by:	lattera
Sponsored by:	EMC / Isilon Storage Division
Approved by:	re (blanket, META_MODE)
2016-06-29 16:45:01 +00:00
jtl
be49875b46 Regenerate for WITH_EXTRA_TCP_STACKS updates.
Approved by:	re (gjb)
Sponsored by:	Juniper Networks
2016-06-28 13:42:50 +00:00
jtl
bbaee6454f Document support for alternate TCP stacks.
Differential Revision:	https://reviews.freebsd.org/D6940
Reviewed by:	hiren
Approved by:	re (gjb)
Sponsored by:	Juniper Networks
2016-06-28 13:37:01 +00:00
bdrewery
452fe84d9b Regenerate
Approved by:	re (implicit, r302177)
2016-06-24 20:00:39 +00:00
bdrewery
81ddc3b19a WITH_SYSTEM_COMPILER: Enable by default
This improves buildworld, toolchain, kernel-toolchain, and universe targets.
See r300354 or src.conf(5) for more details.

Approved by:	re (gjb)
Relnotes:	yes (r300354)
Sponsored by:	EMC / Isilon Storage Division
2016-06-24 19:55:59 +00:00
emaste
dbe14047dd bsd.prog.mk: add "/usr/lib" to list of base system directories
kgzldr.o is installed into /usr/lib but using bsd.prog.mk. Add
/usr/lib to the base system directory list so that debug files are
installed into /usr/lib/debug/usr/lib, not /usr/lib/.debug .

Approved by:	re (gjb)
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
2016-06-24 18:45:16 +00:00
jhb
73d915a1ae Add pci_get_max_payload() to fetch the PCI-express maximum payload size.
Approved by:	re (gjb)
MFC after:	2 weeks
Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D6951
2016-06-24 17:26:42 +00:00
bdrewery
e6811f9793 Add AFLAGS.IMPSRC and document A[C]FLAGS
Approved by:	re (gjb)
Sponsored by:	EMC / Isilon Storage Division
2016-06-22 20:31:49 +00:00
bdrewery
8f9b4b00a2 META_MODE: Don't generate or read _EXTRADEPEND dependencies when using filemon.
The DPADD data in .depend will be redundant with what is in the .meta file.

Also extend NO_EXTRADEPEND support to bsd.prog.mk.

Approved by:	re (blanket, META_MODE)
Sponsored by:	EMC / Isilon Storage Division
2016-06-21 21:55:03 +00:00
emaste
b25a6b9e57 syscons.4,vt.4: update kern.vty description reflecting vt as default
rS274085 made vt(4) the default system console. Catch up to this in
the man page description for the kern.vty tunable.

Reviewed by:	bz
Approved by:	re (hrs)
Differential Revision:	https://reviews.freebsd.org/D6901
2016-06-21 14:16:32 +00:00
bapt
6d8d86e462 Fix generation of locales with multiple variants
Serbian locales have triple components to represent the 2 variations of the
locale: Latin and Cyrillic. Previously the tools generatic the locale were
appending both definitions instead of differentiating them.

Reported by:	ache
Approved by:	re (gjb)
2016-06-20 06:45:42 +00:00
karels
ddf91f32ae Add Mike Karels as committer, with gnn as mentor.
Approved by: gnn (mentor)
Approved by: re
2016-06-19 23:36:40 +00:00
ume
ba73a9e651 - Prefer to use %d over %e where the day of the month should be zero
filled.
- Since %e means the day of the month as well, regard %e as same as %d
  in md_order.

Reported by:	vangyzen
Approved by:	re (gjb)
2016-06-19 03:44:32 +00:00
kp
b06d3a64e7 pf: Filter on and set vlan PCP values
Adopt the OpenBSD syntax for setting and filtering on VLAN PCP values. This
introduces two new keywords: 'set prio' to set the PCP value, and 'prio' to
filter on it.

Reviewed by:    allanjude, araujo
Approved by:	re (gjb)
Obtained from:  OpenBSD (mostly)
Differential Revision:  https://reviews.freebsd.org/D6786
2016-06-17 18:21:55 +00:00
gjb
be411a556e Reimplement r301944 using the correct install(1) invocation, which again
fixes packaging tzdata/zoneinfo.

Thank you to hrs for the pointer on what I did incorrectly.

Approved by:	re (blanket, pkgbase)
Sponsored by:	The FreeBSD Foundation
2016-06-16 13:34:20 +00:00
gjb
e10d828abf Revert r301944, which apparently broke zoneinfo install during
installworld (although I am not sure why).  I'll revisit this
change after I further understand the cause of the breakage.

Thanks to our secret canary (dhw) for the report.

Approved by:	re (blanket, pkgbase)
Sponsored by:	The FreeBSD Foundation
2016-06-16 11:55:24 +00:00
gjb
fae20a41ad Fix zoneinfo file packaging.
This change fixes 468 of 488 zoneinfo file packaging issues,
the rest still to be investigated.

Approved by:	re (blanket, pkgbase)
Sponsored by:	The FreeBSD Foundation
2016-06-16 03:00:10 +00:00
bdrewery
c0c29c5585 Mark targets with _SUBDIR as .PHONY.
This is mostly fixing META_MODE with realinstall wanting a .meta
file when it does not need one.  These targets really should
always run though since they have _SUBDIR on them.

Approved by:	re (implicit)
Sponsored by:	EMC / Isilon Storage Division
2016-06-15 23:58:09 +00:00
bdrewery
42d9d45fb8 Fix native powerpc64 build of lib32 with in-tree GCC.
- This was broken by r300350 and r300885.
- Add some comments around the external GCC logic since it is spread out
  and in need of some cleanup.
- The problem was that X_COMPILER_TYPE is always defined from CC->XCC's
  default, so if /usr/bin/cc is GCC (as it is on native powerpc64) then
  X_COMPILER_TYPE was getting GCC and triggering the external logic in
  Makefile.libcompat.  It was intended to always provide -isystem with
  GCC since --sysroot is used into the lib32 sysroot which won't modify
  the header path without the -isystem.  The use of the libc++/std=c++11
  override was only intended to be used for external compilers though
  (more accurately GCC 4.8+ but that's a separate assumption to
  cleanup).  Apply the same logic from Makefile.inc1 to Makefile.libcompat
  to only add the libc++ override when needed for external compilers.

Pointyhat to:	bdrewery
Tested with:	native ppc64 (swills), universe, ppc64 xtoolchain,
		amd64 xtoolchain, sparc64 cross-build of ppc64 (host GCC 4.2)
Reported by:	andreast, swills
Approved by:	re (gjb)
Sponsored by:	EMC / Isilon Storage Division
2016-06-15 23:58:03 +00:00
bdrewery
9b42513fd1 WITH_META_MODE: Keep .MAKE.MODE/META_MODE clean
Due to META_MODE being passed into the environment it tends
to keep growing with the defaults.

Approved by:	re (implicit)
Sponsored by:	EMC / Isilon Storage Division
2016-06-15 23:57:57 +00:00
bdrewery
e36cb3f2ce WITH_META_MODE: Do include headers for specific guessed dependencies
This is a follow-up to r300343.

This is important for the OBJS_DEPEND_GUESS usage in
gnu/usr.bin/cc/cc_tools.

See comments for more details.

Approved by:	re (implicit)
Sponsored by:	EMC / Isilon Storage Division
2016-06-15 23:57:50 +00:00
bdrewery
a9f6ba59c0 Don't truncate OBJS_DEPEND_GUESS.target from Makefile
This is important to allow a Makefile to override OBJS_DEPEND_GUESS for
handling in META_MODE when its depend files are missing.

Approved by:	re (implicit)
Sponsored by:	EMC / Isilon Storage Division
2016-06-15 23:57:32 +00:00
bdrewery
a048478c50 Renegerate for WITH_META_MODE updates.
Approved by:	re (implicit)
Sponsored by:	EMC / Isilon Storage Division
2016-06-14 18:41:18 +00:00
bdrewery
107ea631d3 WITH_META_MODE: Enable printing of some of make's environment on error.
This will print a set of variables from make on error using
MAKE_PRINT_VAR_ON_ERROR.  It is already enabled for the DIRDEPS_BUILD.
It may make sense to enable this in the non-meta mode as well once
people are more used to its more verbose error output.

This makes it much simpler to see which .meta file is used when a
command files so that it may be inspected for the build command.

Suggested by:	sjg
Approved by:	re (implicit)
Sponsored by:	EMC / Isilon Storage Division
2016-06-14 16:20:25 +00:00
bdrewery
2e92e3aeda WITH_META_MODE: Lessen the filemon(4) requirement scope.
- Move the sys.mk filemon requirement to bsd.init.mk as a warning.
  This is intended only to show when building directly in a subdirectory
  without filemon loaded.
- Move the error into Makefile and only apply it when building
  from the META_TGT_WHITELIST target list.

-DNO_FILEMON can be used to suppress both the warning and the error but
makes WITH_META_MODE less useful.  It will only compare build commands
in this mode rather than track all dependencies.

This fixes installing from a jail which doesn't need filemon in this
phase [1].

Reported by:	Nikolai Lifanov <lifanov@mail.lifanov.com> [1]
Approved by:	re (implicit)
Sponsored by:	EMC / Isilon Storage Division
2016-06-14 16:20:19 +00:00
bdrewery
8c2481d2a9 WITH_META_MODE: Set MK_META_MODE=no with -B.
Using -B already sets .MAKE.MODE=compat but it was leaving
MK_META_MODE set which could still cause other MK_META_MODE==yes
checks to trigger.

Approved by:	re (implicit)
Sponsored by:	EMC / Isilon Storage Division
2016-06-14 16:20:11 +00:00
bdrewery
abaeb3d946 WITH_META_MODE: Fix rescue rebuilding build-tools.
This is the same issue as r297997.

Approved by:	re (implicit)
Sponsored by:	EMC / Isilon Storage Division
2016-06-14 16:19:54 +00:00
bdrewery
7d00fcc3d0 WITH_META_MODE+WITH_DEBUG_FILES: Fix library symlinks causing bogus rebuilds.
A simplified example of the library targets with WITH_DEBUG_FILES is:

  libgeom.so.5: libgeom.so.5.full
     cp libgeom.so.5.full libgeom.so.5

  libgeom.so.5.full:
     ln -s libgeom.so.5 libgeom.so
     cc -o libgeom.so.5.full *.o

Before, or without, WITH_DEBUG_FILES it is:

  libgeom.so.5:
     ln -s libgeom.so.5 libgeom.so
     cc -o libgeom.so.5 *.o

The problem is that bmake considers the link source for the libgeom.so
link in the libgeom.so.5.full target as being a dependency for
libgeom.so.5.full.  That resolves to libgeom.so.5.  Thus a cyclic
dependency is created.  The result of this is that if libgeom.so.5 is
created with a newer timestamp than libgeom.so.5.full, then
libgeom.so.5.full will be rebuilt on the next build.  This causes a
chain reaction of everything in the build relinking, or hitting the
problem itself.

Moving the link creation to the target that actually creates
libgeom.so.5 fixes the problem.  The simplest fix here is to just
duplicate the logic.

Submitted by:	sjg
Approved by:	re (implicit)
2016-06-14 16:19:44 +00:00
ngie
57d47130dd Change my given name from "Garrett" to "Ngie"
A legal name change from "Garrett" to "Ngie", as well as a FreeBSD
account name change, is pending.

Approved by: re (hrs)
2016-06-13 10:35:11 +00:00
tz
8354d9c04d - Add myself (tz / Torsten Zuehlsdorff) to ports commiters
- Add mentors junovitch, pi, swills

Approved by:	re (gjb), junovitch (mentor)
2016-06-10 08:33:15 +00:00
avos
fc91d3317b urtwn(4): refresh manpage.
Mention URTWN_WITHOUT_UCODE option (r295871), hardware encryption support
(r292175), IBSS (r290651) and HOSTAP (r290631) mode support;
cleanup CAVEATS section (some 11n support was added in r297175 + add a
note about current rate control issues).
2016-06-09 17:26:54 +00:00
avos
b9435dd0c2 rum(4): refresh manpage.
Add a note about hardware encryption support (r288633),
adhoc-demo mode (r288622) and remove BUGS section (fixed in r288632).
2016-06-09 14:18:12 +00:00
trasz
d477060046 Fix a bunch of "xref refers to *this* page" igor(1) warnings.
MFC after:	1 month
2016-06-09 06:55:00 +00:00
markj
5c6d3bcb51 Implement an NSS backend for netgroups and add getnetgrent_r(3).
This support appears to have been documented in nsswitch.conf(5) for some
time. The implementation adds two NSS netgroup providers to libc. The
default, compat, provides the behaviour documented in netgroup(5), so this
change does not make any user-visible behaviour changes. A files provider
is also implemented.

innetgr(3) is implemented as an optional NSS method so that providers such
as NIS which are able to implement efficient reverse lookup can do so.
A fallback implementation is used otherwise. getnetgrent_r(3) is added for
convenience and to provide compatibility with glibc and Solaris.

With a small patch to net/nss_ldap, it's possible to specify an ldap
netgroup provider, allowing one to query nisNetgroupTriple entries.

Sponsored by:	EMC / Isilon Storage Division
2016-06-09 01:28:44 +00:00
bdrewery
5f4cfb164d Don't force filemon for makeman/showconfig
Reported by:	lidl
2016-06-08 14:02:21 +00:00
bdrewery
564e334e47 Regenerate 2016-06-08 12:46:54 +00:00
trasz
4ef28c22bf Fix typos.
MFC after:	1 month
2016-06-08 10:38:00 +00:00
trasz
2db9a593c0 Fix some trailing whitespaces.
MFC after:	1 month
2016-06-08 10:26:17 +00:00
trasz
b0bb34128b Last few instances of "sentence not on new line".
MFC after:	1 month
2016-06-08 09:36:07 +00:00
trasz
989dbbd065 Fix a bunch of "sentence not on new line" warnings in section 9.
MFC after:	1 month
2016-06-08 09:19:47 +00:00
trasz
b9efacda12 Fix a bunch of "sentence not on new line" warnings from igor(1).
MFC after:	1 month
2016-06-08 08:50:35 +00:00
trasz
caa02adc0d Improve documentation for usfs(4) and usb_template(4).
Reviewed by:	hselasky (earlier version)
MFC after:	1 month
Differential Revision:	https://reviews.freebsd.org/D6740
2016-06-08 07:39:55 +00:00
trasz
ef1223ed0d Pacify igor(8) and make it easier to find via "man -k iser".
MFC after:	1 month
2016-06-08 07:36:00 +00:00
trasz
9e8259b526 Add iser(4) manual page.
Obtained from:	Mellanox Technologies
MFC after:	1 month
2016-06-08 07:33:17 +00:00
araujo
910fd3b83d Bump date on ifconfig(8) and vlan(4) to reflect the changes made
on revision r301496.
2016-06-08 04:18:57 +00:00
pfg
b52e9c1606 ng_mppc(4): Bring netgraph(3) MPPC compression support.
Documentation change missing from r301549.
2016-06-07 15:20:53 +00:00
araujo
67ba759b09 Bump date in both manpages.
Reported by:	rodrigc
2016-06-07 07:04:05 +00:00
araujo
93e484e00e Add an entry on rc.conf(5) explaining the new options
nis_ypldap_enable and nis_ypldap_flags.

Also add an entry on ypldap(8) that it is a feature ready and
appears on FreeBSD 11.0.

Requested by:	rodrigc
Relnotes:	Yes
2016-06-07 01:00:08 +00:00
bz
cbabf9b05e Add a show igi_list command to DDB to debug IGMP state.
Obtained from:	projects/vnet
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
2016-06-06 22:26:18 +00:00
bz
2919ef7927 Implement a show panic command to DDB which will helpfully print the
panic string again if set, in case it scrolled out of the active
window.  This avoids having to remember the symbol name.

Also add a show callout <addr> command to DDB in order to inspect
some struct callout fields in case of panics in the callout code.
This may help to see if there was memory corruption or to further
ease debugging problems.

Obtained from:	projects/vnet
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Reviewed by:	jhb (comment only on the show panic initally)
Differential Revision:	https://reviews.freebsd.org/D4527
2016-06-06 20:57:24 +00:00
araujo
af4ff984e7 Add support to priority code point (PCP) that is an 3-bit field
which refers to IEEE 802.1p class of service and maps to the frame
priority level.

Values in order of priority are: 1 (Background (lowest)),
0 (Best effort (default)), 2 (Excellent effort),
3 (Critical applications), 4 (Video, < 100ms latency),
5 (Video, < 10ms latency), 6 (Internetwork control) and
7 (Network control (highest)).

Example of usage:
root# ifconfig em0.1 create
root# ifconfig em0.1 vlanpcp 3

Note:
The review D801 includes the pf(4) part, but as discussed with kristof,
we won't commit the pf(4) bits for now.
The credits of the original code is from rwatson.

Differential Revision:	https://reviews.freebsd.org/D801
Reviewed by:	gnn, adrian, loos
Discussed with: rwatson, glebius, kristof
Tested by:	many including Matthew Grooms <mgrooms__shrew.net>
Obtained from:	pfSense
Relnotes:	Yes
2016-06-06 09:51:58 +00:00
araujo
0f769a7b93 Install/Connect ypldap.conf(5) on examples. 2016-06-06 02:43:41 +00:00
bdrewery
13d132737e Regenerate 2016-06-05 23:16:27 +00:00
bdrewery
899ce37fb5 Regenerate 2016-06-05 23:10:05 +00:00
bdrewery
f6ed7b9188 WITH_SYSTEM_COMPILER: Disable with WITH_META_MODE for now.
The WITH_META_MODE build is intended to be a working incremental build.
It spies on the build command to see if things should be rebuilt if the
command changes.  If you run buildworld, it builds a cross-compiler,
then do installworld and buildworld again it will invoke the
WITH_SYSTEM_COMPILER logic.  This then adds on -target/--sysroot, etc,
and causes rebuilds due to the changed build command even though the
compiler used is technically the same revision.  Since the incremental
build is not cleaning anything by default then there is much
less risk to rebuilding the already-existing cross-compiler.  Just
disable the combined logic and always use and build the cross-compiler.

An alternative to this would be to always pass -target/--sysroot.  Doing
so may occur in the future.

Sponsored by:	EMC / Isilon Storage Division
2016-06-05 23:05:04 +00:00
bdrewery
1e55525ea3 WITH_META_MODE: Avoid host tool timestamps causing a rebuild.
Using buildworld, installworld, buildworld.  It is expected that nothing
should rebuild.  However any host tool used could have its timestamp
updated.  Any library used by dynamic tools could have its timestamp
updated.  The filemon(4) data in the .meta files captures all reads to
these files.  This causes the 2nd buildworld to rebuild everything since
host tools and files have been updated.

Because the build is self-reliant and bootstraps itself, it should be
safe to ignore mtime changes on host files used during the build.  Host
files should only impact the build of legacy, build-tools, bootstrap-tools,
cross-tools, but those are already intended to be reproducible from its
own bootstrapping.  It is possible in a rare case that a bug in a host
file does produce a broken build tool.  If that happens it will just
have to be communicated properly.

An alternative solution would be to update the mtime of all files in the
object directory after installworld so that the host files are not newer
than the object files.  That also requires special care for read-only
obj directories and special care to not mess with any intended timestamps in
the build, such as done for reproducibility.

Reported by:	many
Sponsored by:	EMC / Isilon Storage Division
2016-06-05 23:05:01 +00:00
bdrewery
39ee029a9c WITH_META_MODE: Enable bmake's missing meta rebuild feature 2016-06-05 23:04:42 +00:00
bdrewery
633cc97eae Import latest meta.stage.mk 1.45 (r301462) 2016-06-05 21:21:41 +00:00
landonf
09864b3ba8 Update my e-mail address (and fix related typo in siba.4)
Approved by:	adrian (mentor)
Differential Revision:	https://reviews.freebsd.org/D6714
2016-06-04 19:00:11 +00:00
bdrewery
7e8741e191 WITH_META_MODE: Avoid "building" .depend if there is nothing to do.
This avoids 'Building /path/.depend' when it will not actually produce a
file.

Sponsored by:	EMC / Isilon Storage Division
2016-06-03 21:35:19 +00:00
bdrewery
0eeb947db6 WITH_CCACHE_BUILD + WITH_META_MODE: Ignore ccache changes.
Ccache will not affect the output of the objects, so just ignore it for
meta mode handling.  This avoids having everything rebuild if ccache is
updated.

Sponsored by:	EMC / Isilon Storage Division
2016-06-03 19:25:45 +00:00
bdrewery
f12a82914c WITH_META_MODE: Don't expect meta files for side-effect generated files.
The first file in these lists will generate everything else so only
it should be getting a .meta file.  With bmake's missing=yes meta
feature these would otherwise cause a rebuild without the
.NOMETA hint.

Sponsored by:	EMC / Isilon Storage Division
2016-06-03 19:25:41 +00:00
bdrewery
cb5c2c054b Revert r301079.
This breaks cross-building with WITH_META_MODE since it will rebuild
'build-tools' during the 'everything' phase.

A more proper fix is coming to bmake to implicitly require .META unless
.NOMETA (and other restrictions) are in place.
2016-06-03 19:25:36 +00:00
vangyzen
c46e1b80b9 Improve errno documentation in pthread_create(3) and thr_new(2)
Add some missing errno values to thr_new(2) and pthread_create(3).
In particular, EDEADLK was not documented in the latter.
While I'm here, improve some English and cross-references.

Reviewed by:	kib
Sponsored by:	Dell Inc.
Differential Revision:	https://reviews.freebsd.org/D6663
2016-06-03 14:30:32 +00:00
bz
69cdb2137c Introduce a per-VNET flag to enable/disable netisr prcessing on that VNET.
Add accessor functions to toggle the state per VNET.
The base system (vnet0) will always enable itself with the normal
registration. We will share the registered protocol handlers in all
VNETs minimising duplication and management.
Upon disabling netisr processing for a VNET drain the netisr queue from
packets for that VNET.

Update netisr consumers to (de)register on a per-VNET start/teardown using
VNET_SYS(UN)INIT functionality.

The change should be transparent for non-VIMAGE kernels.

Reviewed by:	gnn (, hiren)
Obtained from:	projects/vnet
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D6691
2016-06-03 13:57:10 +00:00
lidl
6f31a383cc Add basic blacklist build support
Reviewed by:	rpaulo
Approved by:	rpaulo
Relnotes:	YES
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D5913
2016-06-02 19:06:04 +00:00
landonf
6f5a91bc19 Add myself as src commiter.
Approved by:	adrian (mentor)
Differential Revision:	https://reviews.freebsd.org/D6686
2016-06-01 23:20:32 +00:00
markj
3e56c97991 Remove the BUGS entry in memguard's man page.
UMA refcounting is gone as of r296243, so this bug no longer exists. In
particular, it's now possible to guard mbuf clusters with memguard.
2016-06-01 22:34:21 +00:00
gjb
fe5676baea Revert r301137 and r301163, and implement a correct fix
for the CONFS issue with dma.conf and ppp.conf.

Thank you very much to Bryan Drewery for looking into the
problem and providing this fix.

Pointyhat:	gjb
Sponsored by:	The FreeBSD Foundation
2016-06-01 20:44:28 +00:00
oshogbo
23ea14c2b8 Fix the library name.
Reviewed by:	bdrewery
2016-06-01 19:54:17 +00:00
bz
fac944a70a The pr_destroy field does not allow us to run the teardown code in a
specific order.  VNET_SYSUNINITs however are doing exactly that.
Thus remove the VIMAGE conditional field from the domain(9) protosw
structure and replace it with VNET_SYSUNINITs.
This also allows us to change some order and to make the teardown functions
file local static.
Also convert divert(4) as it uses the same mechanism ip(4) and ip6(4) use
internally.

Slightly reshuffle the SI_SUB_* fields in kernel.h and add a new ones, e.g.,
for pfil consumers (firewalls), partially for this commit and for others
to come.

Reviewed by:		gnn, tuexen (sctp), jhb (kernel.h)
Obtained from:		projects/vnet
MFC after:		2 weeks
X-MFC:			do not remove pr_destroy
Sponsored by:		The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D6652
2016-06-01 10:14:04 +00:00
bdrewery
31fcbcd300 WITH_META_MODE: Resolve SYSDIR to avoid changed build commands.
Sponsored by:	EMC / Isilon Storage Division
2016-05-31 23:08:43 +00:00
bdrewery
6c2e875629 WITH_META_MODE: Require filemon(4) be loaded.
Since META_MODE is being sold and used as a working incremental build, it won't
make much sense if filemon data is excluded.  There is no way to recover
from that in a subsequent build.

Sponsored by:	EMC / Isilon Storage Division
2016-05-31 22:37:11 +00:00
bdrewery
0dcfafcc05 WITH_META_MODE: Mitigate switching from without to with META_MODE.
Adding .META to targets-to-build will ensure that they will rebuild if there
is no .meta file.

Adding it to all SUFFIXES and objects ensures that at least objects will
rebuild if there is no .meta file.

This will be reverted if bmake's behavior changes to rebuild on missing .meta
files.

Sponsored by:	EMC / Isilon Storage Division
2016-05-31 21:22:19 +00:00
jilles
bc2144d2fa Remove mentions that PTHREAD_PROCESS_SHARED is not supported from man pages.
Also add support for process-shared synchronization objects to the HISTORY
sections where they already exist.
2016-05-31 21:16:34 +00:00
jilles
4afa5fbece Fix typo ESRC -> ESRCH in pthread man pages. 2016-05-31 21:09:42 +00:00
remko
192cb9b11a Update the Security Team member list with the actual
members.

Discussed with:	glebius
2016-05-31 17:23:27 +00:00
rene
4f5154f777 share/misc/organization.dot: list myself as the new portmgr-secretary 2016-05-30 19:30:41 +00:00
bapt
9092d6727a Regenerate timedef:
For Russian:
- Convert AM/PM which are badly formatted in CLDR to replace it by the proper
  cyrillic
- Add a dependency on Text::Iconv so non unicode get the proper encoding for
  AM/PM
- fix the date format having 'r.,' and convert it to 'r.' (also fixed in Bulgarian)

For All:
- Use complete Day of Week instead of the abbreviated one

Reported by:	ache
2016-05-29 22:28:39 +00:00
jilles
7dad7e4019 Remove non-history libkse references and fix PTHREAD_PROCESSES_PRIVATE typo. 2016-05-29 18:25:11 +00:00
bdrewery
b8787754e0 GCC External: Revert r300886, r300904, r300917, r300918
The fix in r300873 is mostly enough.  A fix for lib32 will be
committed.separately.
2016-05-29 06:20:15 +00:00
bdrewery
14e647f92c External GCC: Ensure our libstdc++ symlink to libc++ is found.
Similar to r300917, the search path for our symlink hack must come
before the =/usr/lib search path.

This fixes the atf-check build after r300886.
2016-05-29 00:10:23 +00:00
bdrewery
48500f84d1 GCC XCC -isystem hack: Ensure CXX search =/usr/include/c++1/v1 first.
The C++ header files must be searched before /usr/include.

The original code in Makefile.inc1 did this before the change in r297271 to
use -isystem.  The libc++ import in r300770 fixed the bug introduced in
r297271 by swapping XCFLAGS and XCXXFLAGS ordering in CROSSENV.

Moving the code from Makefile.inc1 to bsd.sys.mk in r300886 also made it
more difficult to control the order of the flags.  CXXFLAGS is based on
CFLAGS, so any additions to it will come after CFLAGS.  The CROSSENV
code from Makefile.inc1 was such that it was ensured the CXXFLAGS came
first by setting them directly in CXX.  Using CXXFLAGS+=-I would work
here, but instead continue to use -isystem by adding it to CXX so it
comes before CFLAGS.

Reported by:	dim
2016-05-28 23:10:07 +00:00
bapt
8356fc9267 Readd week day to default dates
Requested by:	many
2016-05-28 21:26:50 +00:00
asomers
442baa5184 zfsd(8), the ZFS fault management daemon
Add zfsd, which deals with hard drive faults in ZFS pools. It manages
hotspares and replements in drive slots that publish physical paths.

cddl/usr.sbin/zfsd
	Add zfsd(8) and its unit tests

cddl/usr.sbin/Makefile
	Add zfsd to the build

lib/libdevdctl
	A C++ library that helps devd clients process events

lib/Makefile
share/mk/bsd.libnames.mk
share/mk/src.libnames.mk
	Add libdevdctl to the build. It's a private library, unusable by
	out-of-tree software.

etc/defaults/rc.conf
	By default, set zfsd_enable to NO

etc/mtree/BSD.include.dist
	Add a directory for libdevdctl's include files

etc/mtree/BSD.tests.dist
	Add a directory for zfsd's unit tests

etc/mtree/BSD.var.dist
	Add /var/db/zfsd/cases, where zfsd stores case files while it's shut
	down.

etc/rc.d/Makefile
etc/rc.d/zfsd
	Add zfsd's rc script

sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c
	Fix the resource.fs.zfs.statechange message. It had a number of
	problems:

	It was only being emitted on a transition to the HEALTHY state.
	That made it impossible for zfsd to take actions based on drives
	getting sicker.

	It compared the new state to vdev_prevstate, which is the state that
	the vdev had the last time it was opened.  That doesn't make sense,
	because a vdev can change state multiple times without being
	reopened.

	vdev_set_state contains logic that will change the device's new
	state based on various conditions.  However, the statechange event
	was being posted _before_ that logic took effect.  Now it's being
	posted after.

Submitted by:	gibbs, asomers, mav, allanjude
Reviewed by:	mav, delphij
Relnotes:	yes
Sponsored by:	Spectra Logic Corp, iX Systems
Differential Revision:	https://reviews.freebsd.org/D6564
2016-05-28 17:43:40 +00:00
bdrewery
534c4b14b6 Always export X_* vars.
This fixes CROSS_TOOLCHAIN builds after r300886 since it
relies on X_COMPILER_TYPE being set.

The X_* vars will only represent the external compiler
being used.

Sponsored by:	EMC / Isilon Storage Division
2016-05-28 16:21:05 +00:00
bdrewery
288155afbb Move external GCC compiler hacks to bsd.sys.mk.
This allows respecting -nostdinc, -nostdinc++ and -nostdlib before
making the decision to add in -isystem, etc.  The -isystem flags
are problematic for building lib/libc++ and lib/libcxxrt which wants
to only use its own headers.

More information the need of these flags can be found at
https://gcc.gnu.org/ml/gcc/2016-03/msg00219.html

This also reverts r300873.

Sponsored by:	EMC / Isilon Storage Division
2016-05-27 23:03:44 +00:00
dru
581edd8a81 Remove duplicate sentence from pfsync.8.
PR: 209539
Submitted by: olivier@
Reviewed by: timmoore88@gmail.com
Sponsored by: iXsystems
2016-05-27 18:52:58 +00:00
bdrewery
74f873608a DIRDEPS_BUILD: Fix and hookup rescue/rescue to the build.
Sponsored by:	EMC / Isilon Storage Division
2016-05-26 23:20:40 +00:00
bdrewery
42b3be843e WITH_AUTO_OBJ: Fix crunchgen builds.
Passing MAKEOBJDIRPREFIX to the main prog build (rescue) would confuse
WITH_AUTO_OBJ and cause it to create a recursed object directory that
then broke the actual prog build.  This is normally not a problem since
we do not call 'make -f prog.mk obj' before building anything in it.

Crunchgen(1) also assumes that if -o is not passed then if an object
directory does not already exist then it should build in the source
directories.  The normal buildworld process will have already ran 'make
obj' in each of the component directories so this is not a problem.
With WITH_AUTO_OBJ though this is not the case.  So we must tell
crunchgen(1) that MK_AUTO_OBJ=yes will create the directory and to not
require it be present before generating its Makefile.

Sponsored by:	EMC / Isilon Storage Division
2016-05-26 23:20:36 +00:00
bdrewery
5c47967808 Don't strip paths away from META_XTRAS.
This would otherwise disallow using meta files from a foreign build that
spread them around in directories outside our own .OBJDIR.

Sponsored by:	EMC / Isilon Storage Division
2016-05-26 23:20:33 +00:00
bdrewery
bc43e3335c Avoid redundant 'make objs' tree-walk when building the main prog.
The main prog has a dependency on the submake targets to ensure they are
built.  From bsd.crunchgen.mk though we already have our own dependency
on 'make objs' so there is no need for another one.  Crunchgen(1) is
doing the right thing here so it is not modified.

This also prevents the CC fix tainting the submake environment with
META_MODE and causing rebuilds.  The CC passed is is only intended for
the main prog itself.

Sponsored by:	EMC / Isilon Storage Division
2016-05-26 23:20:30 +00:00
bdrewery
e3e1cdda99 Pass CC/CXX/CFLAGS/CXXFLAGS/LDFLAGS to the main crunch exec build.
This fixes --sysroot and other CFLAGS/LDFLAGS not being respected
in the crunchgen build since it is not including bsd.sys.mk and
other files.  For example, this fixes building rescue itself without
--sysroot and other CFLAGS.

Sponsored by:	EMC / Isilon Storage Division
2016-05-26 23:20:27 +00:00
bdrewery
6487325397 WITH_META_MODE: Only expect a .meta file for the main target.
Since multiple files are generated from one build command, only
the first to run will actually generate a .meta file.  This fix
prevents 'required but missing' rebuilds on each target.

Sponsored by:	EMC / Isilon Storage Division
2016-05-26 23:20:24 +00:00
bdrewery
5c68698355 DIRDEPS_BUILD: Don't show finished stats, which confuses crunchgen(1).
It would show 'make error:' lines for each auto object directory created.

Sponsored by:	EMC / Isilon Storage Division
2016-05-26 23:20:20 +00:00
bdrewery
80465c8300 Fix MAKESYSPATH not being sent to sub-makes after r266566.
Because bmake defaults to .../share/mk now, this code was not doing anything
to help objdir builds (such as the rescue build).  Export the same default.

Sponsored by:	EMC / Isilon Storage Division
2016-05-26 23:20:04 +00:00
jhb
7bab6f9036 Update default KMODDIR in comment after r299393.
Submitted by:	hselasky
2016-05-26 18:28:10 +00:00
avos
1204828c26 wpi: refresh manpage.
Reflect all recent changes in the manpage:
- add adhoc-demo and hostap into list of supported modes;
add few examples for them;
- mention encryption/decryption offload for CCMP cipher;
- extend list of driver messages in the DIAGNOSTICS;
- document hostap mode limitations / powersave instability
in the CAVEATS section.

Differential Revision:	https://reviews.freebsd.org/D5149
2016-05-26 10:55:19 +00:00
bdrewery
8d9f7ad551 Regenerate 2016-05-24 23:19:03 +00:00
arybchik
8e01f30efa sfxge(4): cleanup: update copyright to 2016
Sponsored by:   Solarflare Communications, Inc.
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D6509
2016-05-24 12:16:57 +00:00
bapt
354b383b14 Update pci_vendors to 2016.05.23 2016-05-23 22:01:06 +00:00
bdrewery
a784ab2bf3 Be more clear about LOCKLEAF being exclusive and add LOCKSHARED. 2016-05-23 21:29:57 +00:00
asomers
d14be2b60f Add bit_count to the bitstring(3) api
Add a bit_count function, which efficiently counts the number of bits set in
a bitstring.

sys/sys/bitstring.h
tests/sys/sys/bitstring_test.c
share/man/man3/bitstring.3
	Add bit_alloc

sys/kern/subr_unit.c
	Use bit_count instead of a naive counting loop in check_unrhdr, used
	when INVARIANTS are enabled. The userland test runs about 6x faster
	in a generic build, or 8.5x faster when built for Nehalem, which has
	the POPCNT instruction.

sys/sys/param.h
	Bump __FreeBSD_version due to the addition of bit_alloc

UPDATING
	Add a note about the ABI incompatibility of the bitstring(3)
	changes, as suggested by lidl.

Suggested by:	gibbs
Reviewed by:	gibbs, ngie
MFC after:	9 days
X-MFC-With:	299090, 300538
Relnotes:	yes
Sponsored by:	Spectra Logic Corp
Differential Revision:	https://reviews.freebsd.org/D6255
2016-05-23 20:29:18 +00:00
bdrewery
298691dc5e Properly allow META_MODE to be set from environment.
Sponsored by:	EMC / Isilon Storage Division
2016-05-23 17:27:42 +00:00
bdrewery
f007450dde Use sed(1) to determine cc version rather than tail(1) since it is already in ITOOLS.
This fixes 'tail: not found' warnings in installworld after r300351.

Sponsored by:	EMC / Isilon Storage Division
2016-05-23 17:11:32 +00:00
ian
15b855a54e Restore the translation of armv6hf->arm when generating MACHINE_CPUARCH.
It turns out we need to leave this in place for a while so that people
running self-hosting armv6hf systems can do the builds necessary to update
to armv6 (which is now hardfloat by default).
2016-05-22 21:31:20 +00:00
bdrewery
c234fb9e56 Regenerate 2016-05-21 01:35:48 +00:00
bdrewery
07b39d8fb0 Opportunistically skip building a cross-compiler with SYSTEM_COMPILER set.
This will still build the compiler for the target but will not build the
bootstrap cross-compiler in the cross-tools phase.  Other toolchain
bootstrapping, such as elftoolchan and binutils, currently still occurs.

This will utilize the default CC (cc, /usr/bin/cc) as an external compiler.

This is planned to be on-by-default eventually.

This will utilize the __FreeBSD_cc_version compiler macro defined in the
source tree and compare it to CC's version.  If they match then the
cross-compiler is skipped.  If [X]CC is an external compiler (absolute
path) or WITHOUT_CROSS_COMPILER is already set, then this logic is skipped.
If the expected bootstrap compiler type no longer matches the found CC
compiler type (clang vs gcc), then the logic is skipped.  As an extra
safety check the version number is also compared from the compiler to
the tree version.

Clang:
  The macro FREEBSD_CC_VERSION is defined in:
    lib/clang/include/clang/Basic/Version.inc
  For clang -target will be used if TARGET_ARCH != MACHINE_ARCH.  This
  is from the current external toolchain logic.  There is currently an
  assumption that the host compiler can build the TARGET_ARCH.  This
  will usually be the case since we don't conditionalize target arch
  support in clang, but it will break when introducing new
  architectures.  This problem is mitigated by incrementing the version
  when adding new architectures.

GCC:
  The macro FBSD_CC_VER is defined in:
    gnu/usr.bin/cc/cc_tools/freebsd-native.h
  For GCC there is no simple -target support when TARGET_ARCH !=
  MACHINE_ARCH.  In this case the opportunistic skip is not done.  If we
  add proper support for this case in external toolchain logic then it
  will be fine to enable.

This relies on the macros being incremented whenever any change occurs
to these compilers that warrant rebuilding files.  It also should never
repeat earlier values.

Reviewed by:	brooks, bapt, imp
Sponsored by:	EMC / Isilon Storage Division
Differential Revision:	https://reviews.freebsd.org/D6357
2016-05-21 01:32:23 +00:00
bdrewery
50046941ad Fetch the __FreeBSD_cc_version as COMPILER_FREEBSD_VERSION.
Reviewed by:	brooks, bapt, dim
Sponsored by:	EMC / Isilon Storage Division
Differential Revision:	https://reviews.freebsd.org/D6356
2016-05-21 01:32:13 +00:00
bdrewery
66d4b4fc01 Auto determine X_COMPILER_TYPE/X_COMPILER_VERSION if XCC is set.
Reviewed by:	brooks, bapt
Sponsored by:	EMC / Isilon Storage Division
Differential Revision:	https://reviews.freebsd.org/D6355
2016-05-21 01:32:10 +00:00
bdrewery
1193ee1f1f WITH_META_MODE: Disable for 'make install' from top-level.
See r298220 for more explanation.  We don't want to prevent installing
if a cookie exists for the install target.

Sponsored by:	EMC / Isilon Storage Division
2016-05-21 01:31:54 +00:00
bdrewery
e3900077b6 WITH_META_MODE: Fix suffix transformation rules with guessed dependencies.
This is the same problem as r290629.  With META_MODE we do not generate
.depend files, so there is no proper dependency to lookup.  Guessed
dependencies must be used.  If this proves to be a problem then we will
have to generate and use .depend files even with META_MODE.

Sponsored by:	EMC / Isilon Storage Division
2016-05-21 01:31:48 +00:00
bdrewery
dc0746193c WITH_DIRDEPS_BUILD: Fix forcing user to run bootstrap-tools.
This is a follow-up to r299289.  If the user did not run bootstrap-tools
for this directory then just build the tool as normal.  It assumes that
TARGET == MACHINE, but that was already the case before r299289.

Sponsored by:	EMC / Isilon Storage Division
2016-05-21 01:31:44 +00:00
jhb
ca492fdb2d Add sglist functions for working with arrays of VM pages.
sglist_count_vmpages() determines the number of segments required for
a buffer described by an array of VM pages. sglist_append_vmpages()
adds the segments described by such a buffer to an sglist.  The latter
function is largely pulled from sglist_append_bio(), and
sglist_append_bio() now uses sglist_append_vmpages().

Reviewed by:	kib
Sponsored by:	Chelsio Communications
2016-05-20 23:28:43 +00:00
bdrewery
6d37daa2e5 Regenerate 2016-05-20 19:25:57 +00:00
jhb
b4b2ae5652 Add new bus methods for mapping resources.
Add a pair of bus methods that can be used to "map" resources for direct
CPU access using bus_space(9).  bus_map_resource() creates a mapping and
bus_unmap_resource() releases a previously created mapping.  Mappings are
described by 'struct resource_map' object.  Pointers to these objects can
be passed as the first argument to the bus_space wrapper API used for bus
resources.

Drivers that wish to map all of a resource using default settings
(for example, using uncacheable memory attributes) do not need to change.
However, drivers that wish to use non-default settings can now do so
without jumping through hoops.

First, an RF_UNMAPPED flag is added to request that a resource is not
implicitly mapped with the default settings when it is activated.  This
permits other activation steps (such as enabling I/O or memory decoding
in a device's PCI command register) to be taken without creating a
mapping.  Right now the AGP drivers don't set RF_ACTIVE to avoid using
up a large amount of KVA to map the AGP aperture on 32-bit platforms.
Once RF_UNMAPPED is supported on all platforms that support AGP this
can be changed to using RF_UNMAPPED with RF_ACTIVE instead.

Second, bus_map_resource accepts an optional structure that defines
additional settings for a given mapping.

For example, a driver can now request to map only a subset of a resource
instead of the entire range.  The AGP driver could also use this to only
map the first page of the aperture (IIRC, it calls pmap_mapdev() directly
to map the first page currently).  I will also eventually change the
PCI-PCI bridge driver to request mappings of the subset of the I/O window
resource on its parent side to create mappings for child devices rather
than passing child resources directly up to nexus to be mapped.  This
also permits bridges that do address translation to request suitable
mappings from a resource on the "upper" side of the bus when mapping
resources on the "lower" side of the bus.

Another attribute that can be specified is an alternate memory attribute
for memory-mapped resources.  This can be used to request a
Write-Combining mapping of a PCI BAR in an MI fashion.  (Currently the
drivers that do this call pmap_change_attr() directly for x86 only.)

Note that this commit only adds the MI framework.  Each platform needs
to add support for handling RF_UNMAPPED and thew new
bus_map/unmap_resource methods.  Generally speaking, any drivers that
are calling rman_set_bustag() and rman_set_bushandle() need to be
updated.

Discussed on:	arch
Reviewed by:	cem
Differential Revision:	https://reviews.freebsd.org/D5237
2016-05-20 17:57:47 +00:00
jhb
15ae14416b Remove dangling references to rman_await_resource().
This function was removed when RF_TIMESHARE was removed a couple of years
ago.

MFC after:	3 days
2016-05-20 01:17:38 +00:00
truckman
4faf8283d2 Document new net.inet.tcp.ecn.enable sysctl settings.
MFC after:	1 month (with r300240)
2016-05-19 23:03:07 +00:00
gnn
f6dffc405c Remove the old version of the DTraceToolkit from the source tree.
The DTraceToolkit is part of the Open DTrace effort and is supported
on FreeBSD as a port (sysutils/DTraceToolkit) which has been updated
to properly track toolkit development upstream.

Sponsored by:	DARPA, AFRL
2016-05-19 19:51:39 +00:00
maxim
76f80b96bf o -f, -i, -K, -q, -v, -X flags documented. 2016-05-19 10:56:55 +00:00
bz
bfac6710a1 Split 'show vnets' into 'show vnet' and 'show all vnets'.
While here adjust some db_printf format string.

Document the two show commands in ddb.4.

Sponsored by:	The FreeBSD Foundation
2016-05-18 14:43:17 +00:00
imp
3b518c4dc1 Make armv6 hard float abi by default. Kill armv6hf.
Allow CPUTYPE=soft to build the current soft-float abi libraries.
Add UPDATING entry to announce this.

Approved by: re@ (gjb)
2016-05-18 06:01:18 +00:00
gjb
28fe011e62 Revert r300003, and use proper grammar.
While here, bump .Dd, which should have been done with
previous commit.
2016-05-18 06:00:32 +00:00
jhb
002c0ad487 Remove the reiserfs(5) manpage and an example of loading the kernel module. 2016-05-17 18:42:38 +00:00
imp
e933c7e5ff Per Ravi Pokala's suggestion, rewrite the g_reset_bio description to
be clearer. It also describes it with more nuance. Add missing MLINKS
noticed by trasz@. Bump the date.
2016-05-17 17:08:13 +00:00
eadler
156fd4834a Don't repeat the the word 'the'
(one manual change to fix grammar)

Confirmed With: db
Approved by: secteam (not really, but this is a comment typo fix)
2016-05-17 12:52:31 +00:00
kib
8da898f26c Add implementation of robust mutexes, hopefully close enough to the
intention of the POSIX IEEE Std 1003.1TM-2008/Cor 1-2013.

A robust mutex is guaranteed to be cleared by the system upon either
thread or process owner termination while the mutex is held.  The next
mutex locker is then notified about inconsistent mutex state and can
execute (or abandon) corrective actions.

The patch mostly consists of small changes here and there, adding
neccessary checks for the inconsistent and abandoned conditions into
existing paths.  Additionally, the thread exit handler was extended to
iterate over the userspace-maintained list of owned robust mutexes,
unlocking and marking as terminated each of them.

The list of owned robust mutexes cannot be maintained atomically
synchronous with the mutex lock state (it is possible in kernel, but
is too expensive).  Instead, for the duration of lock or unlock
operation, the current mutex is remembered in a special slot that is
also checked by the kernel at thread termination.

Kernel must be aware about the per-thread location of the heads of
robust mutex lists and the current active mutex slot.  When a thread
touches a robust mutex for the first time, a new umtx op syscall is
issued which informs about location of lists heads.

The umtx sleep queues for PP and PI mutexes are split between
non-robust and robust.

Somewhat unrelated changes in the patch:
1. Style.
2. The fix for proper tdfind() call use in umtxq_sleep_pi() for shared
   pi mutexes.
3. Removal of the userspace struct pthread_mutex m_owner field.
4. The sysctl kern.ipc.umtx_vnode_persistent is added, which controls
   the lifetime of the shared mutex associated with a vnode' page.

Reviewed by:	jilles (previous version, supposedly the objection was fixed)
Discussed with:	brooks, Martin Simmons <martin@lispworks.com> (some aspects)
Tested by:	pho
Sponsored by:	The FreeBSD Foundation
2016-05-17 09:56:22 +00:00
grog
50a0e585ab Correct use of incorrect grammar. 2016-05-17 04:40:00 +00:00
andrew
cb60d23248 Add a pcib interface for use by interrupt controllers that need to
translate the pci rid to a controller ID. The translation could be based
on the 'msi-map' OFW property, a similar ACPI option, or hard-coded for
hardware lacking the above options.

Reviewed by:	wma
Obtained from:	ABT Systems Ltd
Sponsored by:	The FreeBSD Foundation
2016-05-16 09:31:44 +00:00
andrew
61d083eeda Re-commit r299467 having fixed the build:
Add a new get_id interface to pci and pcib. This will allow us to both
detect failures, and get different PCI IDs.

For the former the interface returns an int to signal an error. The ID is
returned at a uintptr_t * argument.

For the latter there is a type argument that allows selecting the ID type.
This only specifies a single type, however a MSI type will be added
to handle the need to find the ID the hardware passes to the ARM GICv3
interrupt controller.

A follow up commit will be made to remove pci_get_rid.

Reviewed by:    jhb, rstone (previous version)
Obtained from:  ABT Systems Ltd
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D6239
2016-05-16 09:15:50 +00:00
sephe
6babf96582 atomic: Add testandclear on i386/amd64
Reviewed by:	kib
Sponsored by:	Microsoft OSTC
Differential Revision:	https://reviews.freebsd.org/D6381
2016-05-16 07:19:33 +00:00
n_hibma
dece7a3d00 Add myself to the list of src committers. I've never been added it
seems.
2016-05-12 20:04:09 +00:00
cem
086931ed3b Revert r299467 to fix the kernel build.
$ svn merge -c -299467 .

Approved by:	build being broken for six hours
2016-05-11 23:00:12 +00:00
emaste
7c53dc625e Deorbit ALLOW_SHARED_TEXTREL
We want to avoid .text relocations in shared objects. libcrypto was the
only consumer and it is now fixed (as of r299389). Remove the now-unused
support for turning off the linker warning.

Reviewed by:	kib
Differential Revision:	https://reviews.freebsd.org/D6323
2016-05-11 17:55:09 +00:00
bdrewery
8a99d06e03 DIRDEPS_BUILD: Exclude host tools for Makefile.depend.host as well.
Sponsored by:	EMC / Isilon Storage Division
2016-05-11 17:40:51 +00:00
andrew
5685cc375d Add a new get_id interface to pci and pcib. This will allow us to both
detect failures, and get different PCI IDs.

For the former the interface returns an int to signal an error. The ID is
returned at a uintptr_t * argument.

For the latter there is a type argument that allows selecting the ID type.
This only specifies a single type, however a MSI type will be added
to handle the need to find the ID the hardware passes to the ARM GICv3
interrupt controller.

A follow up commit will be made to remove pci_get_rid.

Reviewed by:	jhb, rstone
Obtained from:	ABT Systems Ltd
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D6239
2016-05-11 17:07:29 +00:00
jhb
03739a0cd0 Change the default installation directory for modules to /boot/modules.
Kernel installs always override KMODDIR when installing modules, so
this default setting is only used for standalone module builds.  Many
out-of-tree modules manually override KMODDIR already to avoid placing
modules in /boot/kernel.  This now makes that behavior the default.

Discussed on:	arch@
Reviewed by:	imp
Relnotes:	yes
2016-05-10 22:32:23 +00:00
jhb
762cf5f8fc Add a missing section to a cross-reference.
While here, add bus_space(9) to the SEE ALSO section.
2016-05-10 16:13:54 +00:00
imp
bfa0f9aeb1 Bump date. Forgotten in r299312. 2016-05-10 04:01:04 +00:00
imp
e6175badd6 Document g_reset_bio(). This is long overdue. g_reset_bio will reset
the bio to a pristine state should you wish to re-use it for another
I/O without freeing it. In the bast, a simple bzero was done to do
this, but that may not be sufficient in the future when the bio may
contain state that's not part of the documented API. Besides, it makes
the code clearer as to the intent...

Noticed by: smh@
2016-05-10 03:57:47 +00:00
gjb
214f3b8bf1 Update share/examples/* to properly install /usr/share/examples.
As result of this, a new examples package is now created.

Note, this is only effective with 'SHARED=copies' (the default),
as the 'SHARED=symlinks' mechanism will create a symlink to the
source tree version of the file(s).

Sponsored by:	The FreeBSD Foundation
2016-05-10 00:51:50 +00:00
bdrewery
ed7b299662 DIRDEPS_BUILD: Run the staged bootstrap-tools version of build-tools.
This avoids running target binaries.

Sponsored by:	EMC / Isilon Storage Division
2016-05-09 22:21:09 +00:00
jhb
6bae79f884 Add a new bus method to fetch device-specific CPU sets.
bus_get_cpus() returns a specified set of CPUs for a device.  It accepts
an enum for the second parameter that indicates the type of cpuset to
request.  Currently two valus are supported:

 - LOCAL_CPUS (on x86 this returns all the CPUs in the package closest to
   the device when DEVICE_NUMA is enabled)
 - INTR_CPUS (like LOCAL_CPUS but only returns 1 SMT thread for each core)

For systems that do not support NUMA (or if it is not enabled in the kernel
config), LOCAL_CPUS fails with EINVAL.  INTR_CPUS is mapped to 'all_cpus'
by default.  The idea is that INTR_CPUS should always return a valid set.

Device drivers which want to use per-CPU interrupts should start using
INTR_CPUS instead of simply assigning interrupts to all available CPUs.
In the future we may wish to add tunables to control the policy of
INTR_CPUS (e.g. should it be local-only or global, should it ignore
SMT threads or not).

The x86 nexus driver exposes the internal set of interrupt CPUs from the
the x86 interrupt code via INTR_CPUS.

The ACPI bus driver and PCI bridge drivers use _PXM to return a suitable
LOCAL_CPUS set when _PXM exists and DEVICE_NUMA is enabled.  They also and
the global INTR_CPUS set from the nexus driver with the per-domain set from
_PXM to generate a local INTR_CPUS set for child devices.

Compared to the r298933, this version uses 'struct _cpuset' in
<sys/bus.h> instead of 'cpuset_t' to avoid requiring <sys/param.h>
(<sys/_cpuset.h> still requires <sys/param.h> for MAXCPU even though
<sys/_bitset.h> does not after recent changes).
2016-05-09 20:50:21 +00:00
woodsb02
86d0161287 Add myself (woodsb02) as ports committer, and update mentor/mentee relationships
Approved by:	adamw (mentor)
Differential Revision:	https://reviews.freebsd.org/D6275
2016-05-09 20:01:18 +00:00
slm
5205f258c4 Updates to mpr driver man page.
- Add 3216 and 3224 support.
- Add SSU, chain_alloc_fail, and spinup_wait_time information.
- Clear up some sentences.
- Correct some typos.

Reviewed by:    ken, scottl, ambrisko, asomers, wblock
Approved by:	ken, scottl, ambrisko
MFC after:      1 week
Differential Revision: https://reviews.freebsd.org/D6104
2016-05-09 16:42:46 +00:00
maxim
a1b366caa6 o Stop to mention the slowstart_flightsize sysctl in the tuning(7).
The slowstart_flightsize and local_slowstart_flightsize sysctl's
were removed from the TCP code in 226447 several years ago.

PR:		209376
MFC after:	1 week
2016-05-09 11:48:09 +00:00
ngie
cc897d70df Fix r299162
share/man/man8/Makefile:
- Add src.opts.mk so MK_NIS can be tested
- Fix typo in MK_NIS conditional

tools/build/mk/OptionalObsoleteFiles.inc:
- Remove WIP diff from ^/user/ngie/detangle-rc

MFC after: 1 week
X-MFC with: r299162
Sponsored by: EMC / Isilon Storage Division
2016-05-06 08:53:24 +00:00
ngie
735cc68579 Only install NIS section 8 manpages if MK_NIS != no
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2016-05-06 08:42:33 +00:00
kib
aaff081bf2 Warn about consequences of suspending threads in arbitrary state of
execution.

While there, fix minor nits in markup.

Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2016-05-05 10:22:19 +00:00
adrian
1927244465 [bwn] [bhnd] initial support for using bhnd for if_bwn devices.
This is an initial work in progress to use the replacement bhnd
bus code for devices which support it.

* Add manpage updates for bhnd, bhndb, siba
* Add kernel options for bhnd, bhndbus, etc
* Add initial support in if_bwn_pci / if_bwn_mac for using bhnd
  as the bus transport for suppoted NICs
* if_bwn_pci will eventually be the PCI bus glue to interface to bwn,
  which will use the right backend bus to attach to, versus direct
  nexus/bhnd attachments (as found in embedded broadcom devices.)

The PCI glue defaults to probing at a lower level than the bwn glue,
so bwn should still attach as per normal without a boot time tunable set.

It's also not fully fleshed out - the bwn probe/attach code needs to be
broken out into platform and bus specific things (just like ath, ath_pci,
ath_ahb) before we can shift the driver over to using this.

Tested:

* BCM4311, STA mode
* BCM4312, STA mode

Submitted by:	Landon Fuller <landonf@landonf.org>
Differential Revision:	https://reviews.freebsd.org/D6191
2016-05-04 23:38:27 +00:00
ngie
92100036c8 Merge ^/user/ngie/release-pkg-fix-tests to unbreak how test files are installed
after r298107

Summary of changes:

- Replace all instances of FILES/TESTS with ${PACKAGE}FILES. This ensures that
  namespacing is kept with FILES appropriately, and that this shouldn't need
  to be repeated if the namespace changes -- only the definition of PACKAGE
  needs to be changed
- Allow PACKAGE to be overridden by callers instead of forcing it to always be
  `tests`. In the event we get to the point where things can be split up
  enough in the base system, it would make more sense to group the tests
  with the blocks they're a part of, e.g. byacc with byacc-tests, etc
- Remove PACKAGE definitions where possible, i.e. where FILES wasn't used
  previously.
- Remove unnecessary TESTSPACKAGE definitions; this has been elided into
  bsd.tests.mk
- Remove unnecessary BINDIRs used previously with ${PACKAGE}FILES;
  ${PACKAGE}FILESDIR is now automatically defined in bsd.test.mk.
- Fix installation of files under data/ subdirectories in lib/libc/tests/hash
  and lib/libc/tests/net/getaddrinfo
- Remove unnecessary .include <bsd.own.mk>s (some opportunistic cleanup)

Document the proposed changes in share/examples/tests/tests/... via examples
so it's clear that ${PACKAGES}FILES is the suggested way forward in terms of
replacing FILES. share/mk/bsd.README didn't seem like the appropriate method
of communicating that info.

MFC after: never probably
X-MFC with: r298107
PR: 209114
Relnotes: yes
Tested with: buildworld, installworld, checkworld; buildworld, packageworld
Sponsored by: EMC / Isilon Storage Division
2016-05-04 23:20:53 +00:00
asomers
09b44517ca Improve performance and functionality of the bitstring(3) api
Two new functions are provided, bit_ffs_at() and bit_ffc_at(), which allow
for efficient searching of set or cleared bits starting from any bit offset
within the bit string.

Performance is improved by operating on longs instead of bytes and using
ffsl() for searches within a long. ffsl() is a compiler builtin in both
clang and gcc for most architectures, converting what was a brute force
while loop search into a couple of instructions.

All of the bitstring(3) API continues to be contained in the header file.
Some of the functions are large enough that perhaps they should be uninlined
and moved to a library, but that is beyond the scope of this commit.

sys/sys/bitstring.h:
        Convert the majority of the existing bit string implementation from
        macros to inline functions.

        Properly protect the implementation from inadvertant macro expansion
        when included in a user's program by prefixing all private
        macros/functions and local variables with '_'.

        Add bit_ffs_at() and bit_ffc_at(). Implement bit_ffs() and
        bit_ffc() in terms of their "at" counterparts.

        Provide a kernel implementation of bit_alloc(), making the full API
        usable in the kernel.

        Improve code documenation.

share/man/man3/bitstring.3:
        Add pre-exisiting API bit_ffc() to the synopsis.

        Document new APIs.

        Document the initialization state of the bit strings
        allocated/declared by bit_alloc() and bit_decl().

        Correct documentation for bitstr_size(). The original code comments
        indicate the size is in bytes, not "elements of bitstr_t". The new
        implementation follows this lead. Only hastd assumed "elements"
        rather than bytes and it has been corrected.

etc/mtree/BSD.tests.dist:
tests/sys/Makefile:
tests/sys/sys/Makefile:
tests/sys/sys/bitstring.c:
        Add tests for all existing and new functionality.

include/bitstring.h
	Include all headers needed by sys/bitstring.h

lib/libbluetooth/bluetooth.h:
usr.sbin/bluetooth/hccontrol/le.c:
        Include bitstring.h instead of sys/bitstring.h.

sbin/hastd/activemap.c:
        Correct usage of bitstr_size().

sys/dev/xen/blkback/blkback.c
        Use new bit_alloc.

sys/kern/subr_unit.c:
        Remove hard-coded assumption that sizeof(bitstr_t) is 1.  Get rid of
        unrb.busy, which caches the number of bits set in unrb.map.  When
        INVARIANTS are disabled, nothing needs to know that information.
        callapse_unr can be adapted to use bit_ffs and bit_ffc instead.
        Eliminating unrb.busy saves memory, simplifies the code, and
        provides a slight speedup when INVARIANTS are disabled.

sys/net/flowtable.c:
        Use the new kernel implementation of bit-alloc, instead of hacking
        the old libc-dependent macro.

sys/sys/param.h
        Update __FreeBSD_version to indicate availability of new API

Submitted by:   gibbs, asomers
Reviewed by:    gibbs, ngie
MFC after:      4 weeks
Sponsored by:   Spectra Logic Corp
Differential Revision:  https://reviews.freebsd.org/D6004
2016-05-04 22:34:11 +00:00
bdrewery
da811e20c3 DIRDEPS_BUILD: Exclude secure/lib* libraries for host builds.
Sponsored by:	EMC / Isilon Storage Division
2016-05-04 03:13:48 +00:00
cem
e2d34cc69e ioat(4): Implement CRC and MOVECRC APIs
And document them in ioat.4.

Sponsored by:	EMC / Isilon Storage Division
2016-05-03 17:07:18 +00:00
sephe
50eba76e30 kern: Add phashinit_flags(), which allows malloc(M_NOWAIT)
It will be used for the upcoming LRO hash table initialization.
And probably will be useful in other cases, when M_WAITOK can't
be used.

Reviewed by:	jhb, kib
Sponsored by:	Microsoft OSTC
Differential Revision:	https://reviews.freebsd.org/D6138
2016-05-03 07:17:13 +00:00
jhb
c71e075efb Revert bus_get_cpus() for now.
I really thought I had run this through the tinderbox before committing,
but many places need <sys/types.h> -> <sys/param.h> for <sys/bus.h> now.
2016-05-03 01:17:40 +00:00
jhb
2da46e01a0 Add a new bus method to fetch device-specific CPU sets.
bus_get_cpus() returns a specified set of CPUs for a device.  It accepts
an enum for the second parameter that indicates the type of cpuset to
request.  Currently two valus are supported:

 - LOCAL_CPUS (on x86 this returns all the CPUs in the package closest to
   the device when DEVICE_NUMA is enabled)
 - INTR_CPUS (like LOCAL_CPUS but only returns 1 SMT thread for each core)

For systems that do not support NUMA (or if it is not enabled in the kernel
config), LOCAL_CPUS fails with EINVAL.  INTR_CPUS is mapped to 'all_cpus'
by default.  The idea is that INTR_CPUS should always return a valid set.

Device drivers which want to use per-CPU interrupts should start using
INTR_CPUS instead of simply assigning interrupts to all available CPUs.
In the future we may wish to add tunables to control the policy of
INTR_CPUS (e.g. should it be local-only or global, should it ignore
SMT threads or not).

The x86 nexus driver exposes the internal set of interrupt CPUs from the
the x86 interrupt code via INTR_CPUS.

The ACPI bus driver and PCI bridge drivers use _PXM to return a suitable
LOCAL_CPUS set when _PXM exists and DEVICE_NUMA is enabled.  They also and
the global INTR_CPUS set from the nexus driver with the per-domain set from
_PXM to generate a local INTR_CPUS set for child devices.

Reviewed by:	wblock (manpage)
Differential Revision:	https://reviews.freebsd.org/D5519
2016-05-02 18:00:38 +00:00
wblock
0506ba8df2 Spelling fixes supplied by pfg@, detected with codespell, plus
additional misspellings detected by igor.

MFC after:	1 week
2016-05-01 22:00:41 +00:00
pfg
cf2ea6ec41 share: minor spelling fixes.
Mostly comments but these tend to be user-visible.

MFC after:	2 weeks
2016-05-01 16:29:02 +00:00
ngie
7d813ee6e0 Allow FILESGROUPS to be specified more than once by pruning out duplicates
MFC after: 2 weeks
Sponsored by: EMC / Isilon Storage Division
2016-04-30 21:32:29 +00:00
jamie
cfbfb8c551 Clarify when happens when there is a "depend" parameter in jail.conf,
and how this affects the "jail_list" option in rc.conf.
2016-04-30 21:27:41 +00:00
bapt
72855a7c5d Add a savecore_enable variable support for the savecore rc script
By default set to 'YES' so it does not change the current behaviour for users,
this variable allows to decide to not extract crach dumps from the dump
device at boot time by setting it to "NO" in rc.conf.

Sponsored by:	Gandi.net
2016-04-29 12:23:56 +00:00
gjb
06b209e9f5 Fix including Kyuafile in packaged base system.
Fix a related typo while here.

Note, this change results in the Kyuafile inclusion in the runtime
package, which needs to be fixed, however addresses the PR as far
as I can tell in my tests.

PR:		209114
Submitted by:	ngie
Sponsored by:	The FreeBSD Foundation
2016-04-29 05:28:40 +00:00
wblock
ad764091c3 Clarify build(7) instructions for alternate object directory.
PR:		209062
Submitted by:	Shawn Debnath <sd@beastie.io>
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D6106
2016-04-28 22:14:09 +00:00
jhb
9021956875 Add some notes about the implicit resource mapping for activated resources.
Specifically, mention that rman_get_bustag/handle/virtual are valid after
a resource is activated.  Also, mention the wrapper API that accepts a
struct resource instead of a bus tag and handle.
2016-04-28 18:23:18 +00:00
jhb
eb165bdc54 Document RF_PREFETCHABLE. 2016-04-28 18:01:25 +00:00
jhb
3db4f9fcfe Document PCI_RES_BUS as a possible resource type. 2016-04-28 17:50:16 +00:00
jhb
58c4eb09c0 Remove a stale reference to the removed RF_TIMESHARE flag. 2016-04-28 17:48:52 +00:00
jhb
e05c6840a1 Add a new rescan method to the bus interface.
The BUS_RESCAN() method rescans a single bus device checking for devices
that have been added or removed from the bus.  A new 'rescan' command is
added to devctl(8) to trigger a rescan.

Differential Revision:	https://reviews.freebsd.org/D6016
2016-04-27 16:29:03 +00:00
cem
973e983535 osd(9): Change array pointer to array pointer type from void*
This is a minor follow-up to r297422, prompted by a Coverity warning.  (It's
not a real defect, just a code smell.)  OSD slot array reservations are an
array of pointers (void **) but were cast to void* and back unnecessarily.
Keep the correct type from reservation to use.

osd.9 is updated to match, along with a few trivial igor fixes.

Reported by:	Coverity
CID:		1353811
Sponsored by:	EMC / Isilon Storage Division
2016-04-26 19:57:35 +00:00
gordon
cc4cad82b5 Add myself (finally) to the port committer's dot file.
Approved by:	mat (mentor)
Differential Revision:	https://reviews.freebsd.org/D6074
2016-04-24 21:19:00 +00:00
manu
321befd162 Add myself as src commiter.
Approved by:	cognet (mentor)
2016-04-24 14:49:01 +00:00
brueffer
98fe761af0 MLINK mfi.4 to mfi_linux.4 and mfip.4 to cover these kernel modules.
The mfi(4) manpage doesn't explain the modules yet, but at least we direct
users to the right place.

PR:		205925
Submitted by:	dvl
MFC after:	1 week
Sponsored by:	Essen Hackathon 2016
2016-04-24 11:41:36 +00:00
brueffer
3b2a510b4d Correct types for g_example_start() and g_example_access().
PR:		203498
Submitted by:	chadf@triularity.org, ae
MFC after:	1 week
Sponsored by:	Essen Hackathon 2016
2016-04-24 08:31:32 +00:00
bcr
5e29f72e7d The default value of MINFREE is defined to be 8% in
ufs/ffs/fs.h and not 10%.  The newfs(8) and tunefs(8)
man pages had this change already, but fs(5) did not.
This change makes it consistent again.

Bump Dd.

PR:             204929
Submitted by:   amutu@amutu.com
MFC after:      3 days
Sponsored by:   Essen Linuxhotel Hackathon 2016
2016-04-23 20:45:52 +00:00
bapt
7f99321646 Bump the date of the manpage after r298515
Sponsored by:	Essen Hackathon 2016
2016-04-23 17:09:40 +00:00
lme
96447551d7 - Add two new subcommands to rc.subr:
"describe" shows an rc script's description
  "extracommands" shows an rc script's non-standard commands like "reload", "configtest", "keygen", etc
- Update the rc(8) manpage and the tcsh(1) completion examples to reflect these changes

Approved by:	bapt
Sponsored by:	Essen Linuxhotel Hackathon 2016
Differential Revision:	D452
2016-04-23 16:19:34 +00:00
brueffer
916659678c Improve upon r296618 to keep lines < 80 characters.
Pointed out by:	jhb
Sponsored by:	Essen Hackathon 2016
2016-04-23 11:04:45 +00:00
bdrewery
4b68f838a5 Fix error when SRCCONF is empty.
Sponsored by:	EMC / Isilon Storage Division
2016-04-22 20:31:29 +00:00
bdrewery
95ccd77bf4 Follow-up r298219: Don't error with 'make all install'.
Reported by:	kib
Sponsored by:	EMC / Isilon Storage Division
2016-04-21 16:12:55 +00:00
gnn
d1e0c7f8b9 Add the address at which the routine returned.
MFC after:	1 week
Sponsored by:	Rubicon Communications (Netgate)
2016-04-21 03:17:53 +00:00
sjg
c2c4e00637 Allow -f dirdeps.mk some/dir with no TARGET_MACHINE spec
Use $MACHINE if target does not specify.

Reviewed by:	bdrewery
2016-04-18 22:00:26 +00:00
bdrewery
77ec731d14 META_MODE: Don't hide the .depend rm -f command.
Otherwise the build command changes every build.  META_MODE will
only remove it if something changes to warrant rebuilding
the file.

Sponsored by:	EMC / Isilon Storage Division
2016-04-18 21:11:55 +00:00