Commit Graph

16603 Commits

Author SHA1 Message Date
Marcel Moolenaar
15abbe5137 Minor update to the proto(4) man page:
1.  We now support ISA devices
2.  DMA support has been added
2015-07-03 16:20:14 +00:00
John-Mark Gurney
e08d13cf83 more word smithing wrt the crd_inject field...
We've already defined IV earlier, so no need to expand it a second
time here...
2015-07-03 01:55:06 +00:00
John-Mark Gurney
2ca5eb5d2d update the documentation of the _IV_ flags... _IV_PRESENT doesn't
mean what you think it should...  This will be fixed in the future
with a flag rename, but document what the flag really does and make
the _IV_ flags clear what their presents (or lack there of) means...

Reviewed by:	gnn, eri (both earlier version)
2015-07-03 00:37:16 +00:00
Andrew Turner
5607ec2379 Set MACHINE_CPU to arm64 when building for arm64. This is needed by the
ports tree as they check this value in a number of ports.

PR:		201259
Sponsored by:	ABT Systems Ltd
2015-07-02 13:42:57 +00:00
John-Mark Gurney
0812640475 add units to the length and count so that it's clear what they
are measured in...  Gems like: "len is the length of the buffer."
aren't useful in man pages.
2015-06-30 19:06:14 +00:00
Hiren Panchasara
5341316696 Add missing DTrace scripts that exist in the source tree to the Makefile for
install.
While here, sort the list.

Differential Revision:	D2950
Submitted by:		Jason Wolfe <j at nitrology.com>
Reviewed by:		gnn, markj, hiren
Sponsored by:		Limelight Networks
2015-06-30 18:23:08 +00:00
Mark Murray
c4f9c760c9 Updated random(4) boot/shutdown scripting.
Fix the man pages as well.

Differential Revision: https://reviews.freebsd.org/D2924
Approved by: so (delphij)
2015-06-30 17:09:41 +00:00
Mark Murray
d1b06863fb Huge cleanup of random(4) code.
* GENERAL
- Update copyright.
- Make kernel options for RANDOM_YARROW and RANDOM_DUMMY. Set
  neither to ON, which means we want Fortuna
- If there is no 'device random' in the kernel, there will be NO
  random(4) device in the kernel, and the KERN_ARND sysctl will
  return nothing. With RANDOM_DUMMY there will be a random(4) that
  always blocks.
- Repair kern.arandom (KERN_ARND sysctl). The old version went
  through arc4random(9) and was a bit weird.
- Adjust arc4random stirring a bit - the existing code looks a little
  suspect.
- Fix the nasty pre- and post-read overloading by providing explictit
  functions to do these tasks.
- Redo read_random(9) so as to duplicate random(4)'s read internals.
  This makes it a first-class citizen rather than a hack.
- Move stuff out of locked regions when it does not need to be
  there.
- Trim RANDOM_DEBUG printfs. Some are excess to requirement, some
  behind boot verbose.
- Use SYSINIT to sequence the startup.
- Fix init/deinit sysctl stuff.
- Make relevant sysctls also tunables.
- Add different harvesting "styles" to allow for different requirements
  (direct, queue, fast).
- Add harvesting of FFS atime events. This needs to be checked for
  weighing down the FS code.
- Add harvesting of slab allocator events. This needs to be checked for
  weighing down the allocator code.
- Fix the random(9) manpage.
- Loadable modules are not present for now. These will be re-engineered
  when the dust settles.
- Use macros for locks.
- Fix comments.

* src/share/man/...
- Update the man pages.

* src/etc/...
- The startup/shutdown work is done in D2924.

* src/UPDATING
- Add UPDATING announcement.

* src/sys/dev/random/build.sh
- Add copyright.
- Add libz for unit tests.

* src/sys/dev/random/dummy.c
- Remove; no longer needed. Functionality incorporated into randomdev.*.

* live_entropy_sources.c live_entropy_sources.h
- Remove; content moved.
- move content to randomdev.[ch] and optimise.

* src/sys/dev/random/random_adaptors.c src/sys/dev/random/random_adaptors.h
- Remove; plugability is no longer used. Compile-time algorithm
  selection is the way to go.

* src/sys/dev/random/random_harvestq.c src/sys/dev/random/random_harvestq.h
- Add early (re)boot-time randomness caching.

* src/sys/dev/random/randomdev_soft.c src/sys/dev/random/randomdev_soft.h
- Remove; no longer needed.

* src/sys/dev/random/uint128.h
- Provide a fake uint128_t; if a real one ever arrived, we can use
  that instead. All that is needed here is N=0, N++, N==0, and some
  localised trickery is used to manufacture a 128-bit 0ULLL.

* src/sys/dev/random/unit_test.c src/sys/dev/random/unit_test.h
- Improve unit tests; previously the testing human needed clairvoyance;
  now the test will do a basic check of compressibility. Clairvoyant
  talent is still a good idea.
- This is still a long way off a proper unit test.

* src/sys/dev/random/fortuna.c src/sys/dev/random/fortuna.h
- Improve messy union to just uint128_t.
- Remove unneeded 'static struct fortuna_start_cache'.
- Tighten up up arithmetic.
- Provide a method to allow eternal junk to be introduced; harden
  it against blatant by compress/hashing.
- Assert that locks are held correctly.
- Fix the nasty pre- and post-read overloading by providing explictit
  functions to do these tasks.
- Turn into self-sufficient module (no longer requires randomdev_soft.[ch])

* src/sys/dev/random/yarrow.c src/sys/dev/random/yarrow.h
- Improve messy union to just uint128_t.
- Remove unneeded 'staic struct start_cache'.
- Tighten up up arithmetic.
- Provide a method to allow eternal junk to be introduced; harden
  it against blatant by compress/hashing.
- Assert that locks are held correctly.
- Fix the nasty pre- and post-read overloading by providing explictit
  functions to do these tasks.
- Turn into self-sufficient module (no longer requires randomdev_soft.[ch])
- Fix some magic numbers elsewhere used as FAST and SLOW.

Differential Revision: https://reviews.freebsd.org/D2025
Reviewed by: vsevolod,delphij,rwatson,trasz,jmg
Approved by: so (delphij)
2015-06-30 17:00:45 +00:00
Maxim Konovalov
2a52334e0b o DragonFly 4.2.0 added. 2015-06-30 07:46:06 +00:00
Sean Bruno
8971c13ffa Delete the refernce to VLAN handling being disabled by default. This is
no longer the case.

PR:		118693
MFC after:	3 days
2015-06-29 17:59:00 +00:00
Christian Brueffer
d14a50d95a Fix issues that kept some of the examples from actually working.
PR:		144534
Submitted by:	Nicolas Edel
MFC after:	1 week
2015-06-29 14:41:19 +00:00
Hans Petter Selasky
38b622e199 Make the system queue header file fully usable within C++ programs by
adding macros to define class lists.

This change is backwards compatible for all use within C and C++
programs. Only C++ programs will have added support to use the queue
macros within classes. Previously the queue macros could only be used
within structures.

The queue.3 manual page has been updated to describe the new
functionality and some alphabetic sorting has been done while
at it.

Differential Revision:	https://reviews.freebsd.org/D2745
PR:			200827 (exp-run)
MFC after:		2 weeks
2015-06-28 21:06:45 +00:00
Matthew Seaman
4311777e58 Steve KArgl's commit bit taken in at his own request
With hat:     core-secretary
Approved by:	core
2015-06-28 09:03:26 +00:00
Baptiste Daroussin
af38028d11 Make all shared library a relative symlink
This makes sysroot usable for cross building, it also removes the need for
_SHLIBDIRPREFIX (keeps its definition since picobsd uses it and I have no time
to test it)

Differential Revision:	https://reviews.freebsd.org/D2920
Submitted by:	imp, adrian
Tested by:	adrian
2015-06-27 23:28:56 +00:00
Andrew Turner
61b9bd2303 Sort the cpu architectures by name rather than a combination of
alphabetical order and appending new architectures to the end of the list.

Obtained from:	ABT Systems Ltd
Sponsored by:	The FreeBSD Foundation
2015-06-25 16:47:11 +00:00
Ermal Luçi
a5b789f65a ALTQ FAIRQ discipline import from DragonFLY
Differential Revision:  https://reviews.freebsd.org/D2847
Reviewed by:    glebius, wblock(manpage)
Approved by:    gnn(mentor)
Obtained from:  pfSense
Sponsored by:   Netgate
2015-06-24 19:16:41 +00:00
Kevin Lo
2907b9f461 Mention that using ports/net/malo-firmware-kmod to install the firmware. 2015-06-24 09:28:43 +00:00
Simon J. Gerraty
cc2520d2f3 Fix generation of src.conf.5
Since makeman turns all options on, we need to guard somethings from
make(showconfig)
2015-06-22 20:21:57 +00:00
Simon J. Gerraty
7090067b2a Appy := to dependent opts once value determined.
This is needed to fix output from 'make showconfig'
2015-06-22 19:01:09 +00:00
Baptiste Daroussin
a82117a6af Simplify code to install manpages and it symlinks
Use the bmake's .for multi variable loops to simplify and make the code more
readable
2015-06-21 22:42:55 +00:00
Baptiste Daroussin
5428abe13d Simplify symlinks on include files by using bmake's multivariable .for loops 2015-06-21 22:27:52 +00:00
Edward Tomasz Napierala
c6ba08803a Expand sysctls descriptions for iscsi(4) and ctl(4).
Differential Revision:	https://reviews.freebsd.org/D2876
Reviewed by:	wblock@
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
2015-06-21 14:21:38 +00:00
Simon J. Gerraty
916c1cd0ab Deal with MAKEOBJDIRPREFIX
MAKEOBJDIRPREFIX does not really fit our model.
Use it to set OBJROOT to about where user expects
and set MAKEOBJDIR to do what we want.
2015-06-20 21:48:07 +00:00
Konstantin Belousov
7705435606 The barriers, provided by _acq and _rel atomics, are acquire and
release barriers, not read and write barriers.  They fence all memory
accesses from the respective side, not limited by the kind of
operation.

Reviewed by:	jhb
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2015-06-20 17:18:46 +00:00
Baptiste Daroussin
729c67f5a7 Use .CURDIR in soelim's include path instead of SRCDIR
This fixes build when a user has defined SRCDIR in make.conf as required by
some ports
2015-06-20 00:17:57 +00:00
Baptiste Daroussin
d586a8e4ae Readd merge.awk forgotten while importing the old vi documentation directly into
the tree.

Do not rely on SRCDIR to find the merge.awk script but use .CURDIR
Fix a long standing bug making the generated documents never including the index
2015-06-20 00:13:28 +00:00
Xin LI
10b942e5d3 Fix markups and change e.g./eg. to e.g.,.
MFC after:	2 weeks
2015-06-19 21:35:56 +00:00
Xin LI
908e4e9754 Fix markups.
MFC after:	2 weeks
2015-06-19 21:35:24 +00:00
Warner Losh
196f0f2b53 Back out contested change until dispute is resolved. This proved to be
more contentious than I expected.
2015-06-19 21:30:45 +00:00
Xin LI
fdc84efdd1 Document kern.cam.ada.legacy_aliases, while I'm there also fix some typos.
MFC after:	2 weeks
2015-06-19 21:26:06 +00:00
Simon J. Gerraty
daf514d0bb Move include of make.conf back to its old position.
This means moving include of local.sys.mk and src.sys.mk too.
Introduce new includes to take the early slot, for the purpose
of being able to influence toolchains and the like.

Differential Revision:	D2860
Reviewed by:	imp
2015-06-19 14:56:24 +00:00
Christian Brueffer
61d010fae9 Document title should be in CAPS. 2015-06-18 16:31:32 +00:00
Christian Brueffer
cf28e39c96 Remove EOL whitespace. 2015-06-18 16:29:11 +00:00
Neel Natu
9b1aa8d622 Restructure memory allocation in bhyve to support "devmem".
devmem is used to represent MMIO devices like the boot ROM or a VESA framebuffer
where doing a trap-and-emulate for every access is impractical. devmem is a
hybrid of system memory (sysmem) and emulated device models.

devmem is mapped in the guest address space via nested page tables similar
to sysmem. However the address range where devmem is mapped may be changed
by the guest at runtime (e.g. by reprogramming a PCI BAR). Also devmem is
usually mapped RO or RW as compared to RWX mappings for sysmem.

Each devmem segment is named (e.g. "bootrom") and this name is used to
create a device node for the devmem segment (e.g. /dev/vmm/testvm.bootrom).
The device node supports mmap(2) and this decouples the host mapping of
devmem from its mapping in the guest address space (which can change).

Reviewed by:	tychon
Discussed with:	grehan
Differential Revision:	https://reviews.freebsd.org/D2762
MFC after:	4 weeks
2015-06-18 06:00:17 +00:00
Warner Losh
c97426f4d7 Bump date.
Submitted by: Xin Li
2015-06-17 22:06:27 +00:00
Warner Losh
b6c9950099 Update style.9 to reflect consensus on developer's mailing list
allowing redundant braces.

Differential Revision: https://reviews.freebsd.org/D2842
2015-06-17 21:25:36 +00:00
Simon J. Gerraty
2ef6d5a7b9 new depends 2015-06-16 23:37:19 +00:00
Simon J. Gerraty
da27fc718f Normally a staging conflict causes an error.
When bootstrapping different options, it is handy to be able to
make those warnings.
2015-06-16 23:06:43 +00:00
Warner Losh
32c88b5252 Remove old fmake. It wasn't built by default for some time. Users that
really need it can find it in the devel/fmake port or pkg install fmake.
Note: This commit is orthogonal to the question 'can we fmake buildworld'.

Differential Revision: https://reviews.freebsd.org/D2840
2015-06-16 20:58:33 +00:00
Sergey Kandaurov
ccc785556c Deshallify. 2015-06-15 23:30:54 +00:00
Baptiste Daroussin
c0b575998b Register libpanel into the available libraries 2015-06-15 21:20:21 +00:00
Simon J. Gerraty
31277fe3a0 Skip MAKE_PRINT_VAR_ON_ERROR unless we are doing META_MODE
with all the recursion in normal build it is too much noise.
2015-06-15 21:09:18 +00:00
Simon J. Gerraty
c1cb0d799b do not include src.opts.mk from here 2015-06-15 19:23:47 +00:00
Enji Cooper
c4af37bb9a Ensure TESTSDIR is defined before bsd.test.mk is .include'd
MFC after: 1 week
2015-06-15 07:13:23 +00:00
Enji Cooper
61099d9aab Remove ALLOW_DEPRECATED_ATF_TOOLS/ATFFILE support from atf.test.mk
The legacy atf tools were removed in atf 0.20

MFC after: 2 weeks
2015-06-15 06:38:59 +00:00
Simon J. Gerraty
8311337d35 Avoid trailing white-space 2015-06-14 03:28:48 +00:00
Simon J. Gerraty
704b4cac9d Watch out for bin/cat in host stage tree 2015-06-14 03:28:25 +00:00
Simon J. Gerraty
71c66d9edc Avoid anoying warning 2015-06-14 03:27:22 +00:00
Adrian Chadd
26b05dff32 Fix incorrect library path. 2015-06-13 22:36:42 +00:00
Simon J. Gerraty
fe137a9992 We no longer need CSU_DIR.i386
and until there is an alternative we need MK_INSTALL_AS_USER=yes
2015-06-13 19:52:35 +00:00
Simon J. Gerraty
ccfb965433 Add META_MODE support.
Off by default, build behaves normally.
WITH_META_MODE we get auto objdir creation, the ability to
start build from anywhere in the tree.

Still need to add real targets under targets/ to build packages.

Differential Revision:       D2796
Reviewed by: brooks imp
2015-06-13 19:20:56 +00:00
Simon J. Gerraty
4b9775d88c Use ${CRUNCHGEN} rather than bare word.
Reviewed by: brooks
2015-06-13 15:36:13 +00:00
Simon J. Gerraty
122b6b61c7 Get rid of some more NO_OBJs
Differential Revision:       D2748
2015-06-12 14:30:27 +00:00
Christian Brueffer
cf804e4e0d Language cleanup.
Noticed during wblock's manpage walkthrough at BSDCan 2015.
2015-06-12 00:02:31 +00:00
Simon J. Gerraty
ab21b9ab84 Do not override variables on command line that build needs to change.
It is sufficient to explicitly set DEPENDFILE in env for each sub-make.
2015-06-11 21:11:33 +00:00
Simon J. Gerraty
d083cb1104 Ensure SYMLINKS fully specified
Differential Revision:       D2748
Reviewed by: brooks
2015-06-11 21:09:03 +00:00
Christian Brueffer
471481d4f2 Add a ugold(4) manpage, adapted from the OpenBSD one. 2015-06-11 19:06:58 +00:00
Jung-uk Kim
87964f0e7c Regen for r284274. 2015-06-11 17:21:27 +00:00
Andrew Turner
d1f83b466c Enable clang on armeb, it is now able to build targeting armeb. This is
the last arm platform to move away from gcc.

Tested by:	jmg
2015-06-11 16:49:14 +00:00
Simon J. Gerraty
e5b44e3743 With MK_AUTO_OBJ=yes objdir is created during sys.mk
If a makefile sets NO_OBJ, we should honor that by setting
.OBJDIR back to .CURDIR
2015-06-11 13:53:15 +00:00
Simon J. Gerraty
92f755617b For debugging we sometimes run makefiles forcing level > 0
Ensure setup that should have happened at level 0 is done.
2015-06-11 13:51:52 +00:00
Simon J. Gerraty
5b381db8cc Remove NO_OBJ
For meta mode we will want objdirs.

Differential Revision:	D2748
Reviewed by:	brooks imp
2015-06-11 04:22:17 +00:00
Simon J. Gerraty
10b60135a9 Mention what 'common' is for 2015-06-10 19:36:53 +00:00
Simon J. Gerraty
dccf7cedd2 combine two comments 2015-06-10 19:31:10 +00:00
Simon J. Gerraty
940a3032cb Explain in a nutshell why we destroy 2015-06-10 19:26:49 +00:00
Simon J. Gerraty
f5374544f1 Building on fmake is no longer possible so removed tests for bmake. 2015-06-10 18:14:38 +00:00
Simon J. Gerraty
4cc6b8394f If MK_AUTO_OBJ==yes, it is done before bsd.obj.mk included 2015-06-10 18:09:05 +00:00
Simon J. Gerraty
b589e6297b Remove extra blank lines 2015-06-10 14:08:36 +00:00
Simon J. Gerraty
b56a78b69e Let people use this with MAKEOBJDIRPREFIX if they really want to 2015-06-10 13:14:24 +00:00
Simon J. Gerraty
ee10d8d237 Remove extra line 2015-06-10 05:39:48 +00:00
Simon J. Gerraty
fbeda970cf remove extra line 2015-06-10 05:39:06 +00:00
Kenneth D. Merry
5672fac935 Add support for reading MAM attributes to camcontrol(8) and libcam(3).
MAM is Medium Auxiliary Memory and is most commonly found as flash
chips on tapes.

This includes support for reading attributes and decoding most
known attributes, but does not yet include support for writing
attributes or reporting attributes in XML format.

libsbuf/Makefile:
	Add subr_prf.c for the new sbuf_hexdump() function.  This
	function is essentially the same function.

libsbuf/Symbol.map:
	Add a new shared library minor version, and include the
	sbuf_hexdump() function.

libsbuf/Version.def:
	Add version 1.4 of the libsbuf library.

libutil/hexdump.3:
	Document sbuf_hexdump() alongside hexdump(3), since it is
	essentially the same function.

camcontrol/Makefile:
	Add attrib.c.

camcontrol/attrib.c:
	Implementation of READ ATTRIBUTE support for camcontrol(8).

camcontrol/camcontrol.8:
	Document the new 'camcontrol attrib' subcommand.

camcontrol/camcontrol.c:
	Add the new 'camcontrol attrib' subcommand.

camcontrol/camcontrol.h:
	Add a function prototype for scsiattrib().

share/man/man9/sbuf.9:
	Document the existence of sbuf_hexdump() and point users to
	the hexdump(3) man page for more details.

sys/cam/scsi/scsi_all.c:
	Add a table of known attributes, text descriptions and
	handler functions.

	Add a new scsi_attrib_sbuf() function along with a number
	of other related functions that help decode attributes.

	scsi_attrib_ascii_sbuf() decodes ASCII format attributes.

	scsi_attrib_int_sbuf() decodes binary format attributes, and
	will pass them off to scsi_attrib_hexdump_sbuf() if they're
	bigger than 8 bytes.

	scsi_attrib_vendser_sbuf() decodes the vendor and drive
	serial number attribute.

	scsi_attrib_volcoh_sbuf() decodes the Volume Coherency
	Information attribute that LTFS writes out.

sys/cam/scsi/scsi_all.h:
	Add a number of attribute-related structure definitions and
	other defines.

	Add function prototypes for all of the functions added in
	scsi_all.c.

sys/kern/subr_prf.c:
	Add a new function, sbuf_hexdump().  This is the same as
	the existing hexdump(9) function, except that it puts the
	result in an sbuf.

	This also changes subr_prf.c so that it can be compiled in
	userland for includsion in libsbuf.

	We should work to change this so that the kernel hexdump
	implementation is a wrapper around sbuf_hexdump() with a
	statically allocated sbuf with a drain.  That will require
	a drain function that goes to the kernel printf() buffer
	that can take a non-NUL terminated string as input.
	That is because an sbuf isn't NUL-terminated until it is
	finished, and we don't want to finish it while we're still
	using it.

	We should also work to consolidate the userland hexdump and
	kernel hexdump implemenatations, which are currently
	separate.  This would also mean making applications that
	currently link in libutil link in libsbuf.

sys/sys/sbuf.h:
	Add the prototype for sbuf_hexdump(), and add another copy
	of the hexdump flag values if they aren't already defined.

	Ideally the flags should be defined in one place but the
	implemenation makes it difficult to do properly.  (See
	above.)

Sponsored by:	Spectra Logic Corporation
MFC after:	1 week
2015-06-09 21:39:38 +00:00
Simon J. Gerraty
44d314f704 dirdeps.mk now sets DEP_RELDIR 2015-06-08 23:35:17 +00:00
Simon J. Gerraty
6251c65a82 Latest dirdeps.mk sets DEP_RELDIR for itself.
This helps guard against bugs in manually edited Makefile.depend
files, and avoids the need to call realpath from the Makefile.depend file.
2015-06-08 23:34:04 +00:00
Simon J. Gerraty
924b88f687 Watchout for bogus MAN 2015-06-08 23:32:27 +00:00
Andrey V. Elsukov
fcdb1ffc49 Add makefile to build geom_map kld. Document some GEOM_* options
in NOTES and geom(4).
2015-06-08 13:23:56 +00:00
Bernard Spil
07d93540fc Add myself (brnrd / Bernard Spil) to committers docs
- Add myself and vsevolod (mentor) to committers-ports.dot
- Add koobs and vsevolod as mentors to committers-ports.dot

Submitted by:	brnrd@freebsd.org
Approved by:	vsevolod (mentor), koobs (mentor)
Differential Revision: https://reviews.freebsd.org/D2648
2015-06-06 11:19:21 +00:00
Simon J. Gerraty
d800e67729 Add support for dependent options
Reviewed by:	imp
2015-06-06 01:18:28 +00:00
Andriy Gapon
2764d3bcdb bhyve/vmrun.sh: pass all existing readable disks to bhyveload(8)
This is done if the installation mode is not requested or auto-detected.
This is useful when a kernel has to be loaded from multiple disks.
For example from a RAID-Z pool or a ZFS pool with multiple top level
vdevs.

Differential Revision:	https://reviews.freebsd.org/D2723
Reviewed by:	neel
MFC after:	8 days
2015-06-05 15:16:26 +00:00
Andriy Gapon
2aa681ed31 bhyve/vmrun.sh: support passing disk options same as for bhyve(8)
Differential Revision:	https://reviews.freebsd.org/D2723
Reviewed by:	neel
MFC after:	8 days
2015-06-05 15:14:54 +00:00
Simon J. Gerraty
1e34437637 Add dependent option STAGING_MAN/STAGING
Use a single mlinks set, since some libs (eg. libc) do cross section
links.
2015-06-04 19:11:56 +00:00
Baptiste Daroussin
06d83c8266 In r282297 \fC was wrong changed to \fCW.) when it should have been \fCW
Reported by:	carsten.kunze@arcor.de (heirloom doctools)
2015-06-03 20:04:39 +00:00
Sean Bruno
23c9098b2a Change EM_MULTIQUEUE to a real kernconf entry and enable support for
up to 2 rx/tx queues for the 82574.

Program the 82574 to enable 5 msix vectors, assign 1 to each rx queue,
1 to each tx queue and 1 to the link handler.

Inspired by DragonFlyBSD, enable some RSS logic for handling tx queue
handling/processing.

Move multiqueue handler functions so that they line up better in a diff
review to if_igb.c

Always enqueue tx work to be done in em_mq_start, if unable to acquire
the TX lock, then this will be processed in the background later by the
taskqueue.  Remove mbuf argument from em_start_mq_locked() as the work
is always enqueued.  (stolen from igb)

Setup TARC, TXDCTL and RXDCTL registers for better performance and stability
in multiqueue and singlequeue implementations. Handle Intel errata  3 and
generic multiqueue behavior with the initialization of TARC(0) and TARC(1)

Bind interrupt threads to cpus in order.  (stolen from igb)

Add 2 new DDB functions, one to display the queue(s) and their settings and
one to reset the adapter.  Primarily used for debugging.

In the multiqueue configuration, bump RXD and TXD ring size to max for the
adapter (4096).  Setup an RDTR of 64 and an RADV of 128 in multiqueue configuration
to cut down on the number of interrupts.  RADV was arbitrarily set to 2x RDTR
and can be adjusted as needed.

Cleanup the display in top a bit to make it clearer where the taskqueue threads
are running and what they should be doing.

Ensure that both queues are processed by em_local_timer() by writing them both
to the IMS register to generate soft interrupts.

Ensure that an soft interrupt is generated when em_msix_link() is run so that
any races between assertion of the link/status interrupt and a rx/tx interrupt
are handled.

Document existing tuneables: hw.em.eee_setting, hw.em.msix, hw.em.smart_pwr_down, hw.em.sbp

Document use of hw.em.num_queues and the new kernel option EM_MULTIQUEUE

Thanks to Intel for their continued support of FreeBSD.

Reviewed by:	erj jfv hiren gnn wblock
Obtained from:	Intel Corporation
MFC after:	2 weeks
Relnotes:	Yes
Sponsored by:	Limelight Networks
Differential Revision:	https://reviews.freebsd.org/D1994
2015-06-03 18:01:09 +00:00
John-Mark Gurney
285c9f5c02 fix missing backslash.. 2015-06-03 17:10:52 +00:00
John-Mark Gurney
3d016773bb install nanobsd.sh as a MLINK as that is the .Nm of the man page..
really the man page should be renamed as nanobsd.sh is not installed
as nanobsd..
2015-06-03 17:10:11 +00:00
Bryan Drewery
b322948ef6 Similar to r280178, don't hide command for building static library. 2015-06-02 19:05:02 +00:00
Andrey V. Elsukov
f49cc1b5c0 Add example howto configure gre(4) tunnel with the same inner and
outer addresses using multiple FIBs.

X-MFC after:	r282809
2015-06-02 00:47:38 +00:00
Simon J. Gerraty
8bf4a1b89c Handle multiple sections in MLINKS 2015-05-31 07:16:31 +00:00
Simon J. Gerraty
09cdd180a2 Stage man pages. 2015-05-31 03:13:24 +00:00
Baptiste Daroussin
8854666322 Regenerate after r283777 2015-05-30 17:46:11 +00:00
Baptiste Daroussin
8faa40d1a0 Switch to mandoc's version of makewhatis(8), whatis(1), apropos(1) utilities.
This change among other things improve search capabilities over the manpages
allowing fine grain query.

A new build option WITHOUT_MANDOCDB has been added to keep the ancient version
of the database and the tools. The plan is to entirely remove this option before
11.0-RELEASE.

Differential Revision:	https://reviews.freebsd.org/D2603
2015-05-30 17:41:37 +00:00
Simon J. Gerraty
58073855a4 Do not override variables on command line that build needs to change.
It is sufficient to explicitly set DEPENDFILE in env for each sub-make.
2015-05-30 17:29:51 +00:00
Simon J. Gerraty
fdfa61c3ab Test that .CURDIR is component of (or matches) .OBJDIR 2015-05-30 17:27:52 +00:00
Simon J. Gerraty
6332aaacb4 Use SRCTOP when defining ROOTOBJDIR
Excplicitly check rather than assume that .CURDIR is
a component of .OBJDIR
Otherwise check for OBJTOP and if that is a match use it.
2015-05-30 15:13:18 +00:00
Simon J. Gerraty
883e6bfbb1 Define SRCTOP in src.sys.mk
Because src.sys.mk should only ever be found in the src tree
we can use its position (.PARSEDIR) to set SRCTOP.

Reviewed by:	bapt, imp
2015-05-30 15:08:52 +00:00
Michael Gmelin
71d51719ea ig4 - Intel fourth gen integrated I2C SMBus driver.
Differential Revision:	https://reviews.freebsd.org/D2372
Reviewed by:	jhb, wblock, adrian
Approved by:	jhb, wblock
Relnotes:	yes
2015-05-30 12:17:18 +00:00
Simon J. Gerraty
10e781d1ba Allow AUTO_OBJ with out META_MODE.
Remove frobbing of SRCCONF etc - not strictly relevant to meta mode.
2015-05-29 06:45:32 +00:00
John Baldwin
f3bb925153 Create a separate kobj interface for leaf-driver PCI IOV methods.
Leaf drivers should not import the PCI bus interface to add IOV handling.
Instead, move the IOV client methods to a separate kobj interface.

Differential Revision:	https://reviews.freebsd.org/D2584
Reviewed by:	rstone
2015-05-28 22:01:50 +00:00
Patrick Kelsey
e5315a56df Provide an unambiguous description of the potential hazard in calling
pthread_setspecific(3) from a key destructor.

Reviewed by: jhb
Approved by: jmallett (mentor)
MFC after: 3 days
2015-05-28 16:18:41 +00:00
Simon J. Gerraty
98e0ffaefb Merge sync of head 2015-05-27 01:19:58 +00:00