Commit Graph

2694 Commits

Author SHA1 Message Date
John Baldwin
306095b889 Add an overview section to bus_dma.9.
Describe the role of tags and mapping objects as abstractions.
Describe static vs dynamic transaction types and give a brief overview
of the set of functions and object life cycles used for static vs
dynamic.

While here, fix a few other typos and expand a bit on parent tags.

Reviewed by:	cem, imp
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D16652
2018-08-12 01:54:05 +00:00
Alan Somers
880cdb8805 Bring VOP_LOOKUP(9) up to date
* Remove the cn_hash field (removed by r51906)
* Add the cn_lkflags field (added by r144285)
* Remove duplicate definition of cnp.

Reviewed by:	kib
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D16629
2018-08-08 18:50:42 +00:00
Konstantin Belousov
1b534662ad Some updates to vm_map(9).
Remove min_offset, max_offset.  Mention the busy flag.

Prodded by: https://reviews.freebsd.org/D16105.
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2018-08-03 12:14:29 +00:00
Emmanuel Vadot
cfe196fbed nvmem: Add nvmem interface and helpers
The nvmem interface helps provider of nvmem data to expose themselves to consumer.
NVMEM is generally present on some embedded board in a form of eeprom or fuses.
The nvmem api are helpers for consumer to read/write the cell data from a provider.

Differential Revision:	https://reviews.freebsd.org/D16419
2018-07-31 19:08:24 +00:00
Bjoern A. Zeeb
0a758cf6a5 Updated .Dd missed in r336674. 2018-07-24 18:51:38 +00:00
Andrew Turner
fceba23f93 As with DPCPU create VNET_DEFINE_STATIC for when a variable needs to be
declaired static. This will allow us to change the definition on arm64
as it has the same issues described in r336349.

Reviewed by:	bz
Sponsored by:	DARPA, AFRL
Differential Revision:	https://reviews.freebsd.org/D16147
2018-07-24 16:31:16 +00:00
Conrad Meyer
1b0909d51a OpenCrypto: Convert sessions to opaque handles instead of integers
Track session objects in the framework, and pass handles between the
framework (OCF), consumers, and drivers.  Avoid redundancy and complexity in
individual drivers by allocating session memory in the framework and
providing it to drivers in ::newsession().

Session handles are no longer integers with information encoded in various
high bits.  Use of the CRYPTO_SESID2FOO() macros should be replaced with the
appropriate crypto_ses2foo() function on the opaque session handle.

Convert OCF drivers (in particular, cryptosoft, as well as myriad others) to
the opaque handle interface.  Discard existing session tracking as much as
possible (quick pass).  There may be additional code ripe for deletion.

Convert OCF consumers (ipsec, geom_eli, krb5, cryptodev) to handle-style
interface.  The conversion is largely mechnical.

The change is documented in crypto.9.

Inspired by
https://lists.freebsd.org/pipermail/freebsd-arch/2018-January/018835.html .

No objection from:	ae (ipsec portion)
Reported by:	jhb
2018-07-18 00:56:25 +00:00
Andrew Turner
2bf9501287 Create a new macro for static DPCPU data.
On arm64 (and possible other architectures) we are unable to use static
DPCPU data in kernel modules. This is because the compiler will generate
PC-relative accesses, however the runtime-linker expects to be able to
relocate these.

In preparation to fix this create two macros depending on if the data is
global or static.

Reviewed by:	bz, emaste, markj
Sponsored by:	ABT Systems Ltd
Differential Revision:	https://reviews.freebsd.org/D16140
2018-07-05 17:13:37 +00:00
Matt Macy
b3dfc51828 epoch(9): Fix man page typo
Submitted by:	se
Reported by:	se
2018-07-04 17:06:23 +00:00
Matt Macy
4619bce883 epoch(9): update in_epoch() description as well 2018-07-04 03:54:39 +00:00
Matt Macy
68195696a6 epoch(9): update man page for r335924 2018-07-04 03:44:36 +00:00
Matt Macy
345432aab7 document MODULE_TIED behavior change 2018-07-03 23:09:09 +00:00
Conrad Meyer
5c0ce48153 atomic.9: Add missing MLINK for testandclear, thread_fence routines
Missed in r299912, r326982.

X-MFC-With:	r299912, r326982
Sponsored by:	Dell EMC Isilon
2018-06-26 16:20:19 +00:00
Mark Johnston
76e944b7a5 Add missing MLINK.
MFC after:	3 days
2018-06-26 09:30:14 +00:00
Ed Schouten
7739f6e5ad Fix spelling of "reclamation". 2018-06-25 06:57:10 +00:00
Oleksandr Tymoshenko
80cb7cd44c Document multi variants of *prop_alloc functions
Add documentation and symlinks for OF_getprop_alloc_multi
and OF_getencprop_alloc_multi functions.

Also while here fix copy-pasted .Dt value and add one more
failure condition for OF_getencprop_alloc.
2018-06-23 20:05:07 +00:00
Oleksandr Tymoshenko
65769339cb Bump .Dd value after r335585 2018-06-23 19:30:29 +00:00
Oleksandr Tymoshenko
96308c2a28 Fix invalid OF_getencprop_alloc usage in fdt_pinctrl(9)
r332341 introduced OF_getencprop_alloc_multi that should be used
instead of OF_getencprop_alloc to get multi-cell properties.
Fix example to reflect this change.
2018-06-23 19:01:05 +00:00
Eitan Adler
66deb95625 epoch.9: bump Dd
ref D15961
2018-06-22 06:05:19 +00:00
Eitan Adler
7d9389b096 epoch.9: fix some style and speeling issues
Reported by:	Yutaro Hayakawa <yhayakawa3720@gmail.com> (spelling)
Differential Revision: https://reviews.freebsd.org/D15961
2018-06-22 06:04:22 +00:00
Mariusz Zaborski
1093ff61cd libnv: add note about nvlist_pack and nvlist_unpack
Fix small typo as well.

Submitted by:	Mindaugas Rasiukevicius <rmind@netbsd.org>
2018-06-18 23:00:15 +00:00
Mariusz Zaborski
24881c060c libnv: Add nvlist_append_*_array() family of functions.
The nvlist_append_{bool,number,string,nvlist,descriptor}_array() functions
allows to dynamically extend array stored in the nvlist.

Submitted by:	Mindaugas Rasiukevicius <rmind@netbsd.org>
2018-06-18 22:57:32 +00:00
Mariusz Zaborski
d82e41b6b8 libnv: Remove nvlist argument from cnvlist_{take,free}_* functions.
All information which are need for those operations is already stored in
the cookie.

We decided not to bump libnv version because this API is not used yet in the
base system.

Reviewed by:	pjd
2018-06-18 21:26:58 +00:00
Mariusz Zaborski
30665f3c42 libnv: add const to cookies arguments
Pointed out by:	pjd@
2018-06-18 21:23:40 +00:00
Mariusz Zaborski
0db44d5550 libnv: change name of cookie from cookiep to cookie.
The name was inconsistent with rest of the library.
No functional change intended.

Pointed out by:	pjd@
2018-06-18 21:18:20 +00:00
Jonathan T. Looney
0766f278d8 Make UMA and malloc(9) return non-executable memory in most cases.
Most kernel memory that is allocated after boot does not need to be
executable.  There are a few exceptions.  For example, kernel modules
do need executable memory, but they don't use UMA or malloc(9).  The
BPF JIT compiler also needs executable memory and did use malloc(9)
until r317072.

(Note that a side effect of r316767 was that the "small allocation"
path in UMA on amd64 already returned non-executable memory.  This
meant that some calls to malloc(9) or the UMA zone(9) allocator could
return executable memory, while others could return non-executable
memory.  This change makes the behavior consistent.)

This change makes malloc(9) return non-executable memory unless the new
M_EXEC flag is specified.  After this change, the UMA zone(9) allocator
will always return non-executable memory, and a KASSERT will catch
attempts to use the M_EXEC flag to allocate executable memory using
uma_zalloc() or its variants.

Allocations that do need executable memory have various choices.  They
may use the M_EXEC flag to malloc(9), or they may use a different VM
interfact to obtain executable pages.

Now that malloc(9) again allows executable allocations, this change also
reverts most of r317072.

PR:		228927
Reviewed by:	alc, kib, markj, jhb (previous version)
Sponsored by:	Netflix
Differential Revision:	https://reviews.freebsd.org/D15691
2018-06-13 17:04:41 +00:00
Jonathan T. Looney
1f725683af Create a symlink for sodtor_set(9) to the socket(9) man page. 2018-06-08 19:47:04 +00:00
Jonathan T. Looney
1fbe13cf4b Add a socket destructor callback. This allows kernel providers to set
callbacks to perform additional cleanup actions at the time a socket is
closed.

Michio Honda presented a use for this at BSDCan 2018.
(See https://www.bsdcan.org/2018/schedule/events/965.en.html .)

Submitted by:	Michio Honda <micchie at sfc.wide.ad.jp> (previous version)
Reviewed by:	lstewart (previous version)
Differential Revision:	https://reviews.freebsd.org/D15706
2018-06-08 19:35:24 +00:00
Jonathan T. Looney
651a790808 Update the sysctl(9) manpage to indicate that <sys/param.h> is required
instead of <sys/types.h>.  (<sys/sysctl.h> includes NULL, which is defined
with <sys/param.h> and not <sys/types.h>.)

Sponsored by:	Netflix
2018-06-01 16:47:39 +00:00
Mark Johnston
64223daed4 Document the return value of sbuf_bcat(9).
MFC after:	1 week
2018-05-23 15:26:56 +00:00
Emmanuel Vadot
435b87a99b bus_dma(9): Correct arm64 BUS_DMA_COHERENT implementation note
BUS_DMA_COHERENT isn't supported in bus_dmamap_create but bus_dma_tag_create.
Document it properly.

Submitted by:	andrew
2018-05-22 13:45:24 +00:00
Emmanuel Vadot
c6231a5f26 bus_dma(9): arm64 implementation notes
Indicate that BUS_DMA_COHERENT is supported for bus_dmamem_alloc and
bus_dmamem_create in the arm64 implementation.
2018-05-22 11:17:45 +00:00
Matt Macy
70398c2f86 epoch(9): Make epochs non-preemptible by default
There are risks associated with waiting on a preemptible epoch section.
Change the name to make them not be the default and document the issue
under CAVEATS.

Reported by:	markj
2018-05-18 17:29:43 +00:00
Matt Macy
6e36248f79 epoch(9): fix error in example and update API reference
Submitted by:	hps
Approved by:	sbruno
2018-05-18 04:13:58 +00:00
Marko Zec
cf103f7ef1 A belated note crediting the FreeBSD Foundation for sponsoring
technical work circa ten years ago...

MFC after:	3 days
2018-05-16 16:57:11 +00:00
Matt Macy
33346ed65c Add epoch(9) man page
Reviewed by:	gallatin@
Approved by:	sbruno@
2018-05-13 23:16:04 +00:00
Kyle Evans
f0fb94abca Standardize SPDX tag on files I've added 2018-05-09 16:52:28 +00:00
Kyle Evans
4b3c64f722 Remove "All Rights Reserved" on files that I hold sole copyright on
See r333391 for more detail; in summary: it holds no weight and may be
removed.
2018-05-09 16:44:19 +00:00
Kyle Evans
37394a5d7e style(9): add some additional useful FILES/xref information
Submitted by:	0mp
Reviewed by:	imp
Differential Revision:	https://reviews.freebsd.org/D15196
2018-05-04 03:23:45 +00:00
Benno Rice
c5ff263d82 Add a stub manual page for iflib(9).
Currently 'man -k iflib' would find you the right pages for iflib
documentation, namely iflibdd(9) and iflibdi(9) but 'man iflib' would leave
you in the dark. This allows both approaches to find the relevant
documentation.

Reviewed by:	kmacy, shurd
Sponsored by:	iXsystems, Inc.
Differential Revision:	https://reviews.freebsd.org/D15219
2018-05-03 17:52:40 +00:00
Benno Rice
42536618be Document ifdi_tx_queues_alloc and ifdi_rx_queues_alloc.
Prior to this change the manual page documented ifdi_queues_alloc which has
been replaced by separate methods for tx and rx queues.

Reviewed by:	kmacy, shurd
Sponsored by:	iXsystems, Inc.
Differential Revision:	https://reviews.freebsd.org/D15218
2018-05-03 17:49:26 +00:00
Mariusz Zaborski
ffd9d577cc Add missing argument in the cnv man page.
Reported by:	Miłosz Kaniewski <milosz.kaniewski@gmail.com>
MFC after:	1 week
Sponsored by:	Wheel Systems
2018-04-18 11:02:19 +00:00
Brooks Davis
9c11d8d483 Remove the unused fuwintr() and suiwintr() functions.
Half of implementations always failed (returned (-1)) and they were
previously used in only one place.

Reviewed by:	kib, andrew
Obtained from:	CheriBSD
Sponsored by:	DARPA, AFRL
Differential Revision:	https://reviews.freebsd.org/D15102
2018-04-17 18:04:28 +00:00
Brooks Davis
427be5bb3a Remove unused implementations of copyoutstr().
Also remove the commented out documentation.  The documentation arrived
with the import of the copy.9 manpage.  I suspect the implementations
came from NetBSD while bootstrapping the Arm and MIPS ports.

Reviewed by:	andrew, jmallett
Sponsored by:	DARPA, AFRL
Differential Revision:	https://reviews.freebsd.org/D15108
2018-04-17 17:20:04 +00:00
Edward Tomasz Napierala
604f1c416c Don't put multiple names on a single .Nm line. This fixes apropos(1)
output, from this:

strnlen, strlen, strlen,(3) - find length of string                                                                                                                                                     │·······

... to this:

strlen, strnlen(3) - find length of string

PR:		223525
MFC after:	2 weeks
2018-04-17 09:05:46 +00:00
Oleksandr Tymoshenko
ac32b99c2b [man] Add documentation for OpenFirmware API
Add man pages for following OpenFirmware functions:

OF_child, OF_parent, OF_peer, OF_device_from_xref,
OF_device_register_xref, OF_xref_from_device, OF_getprop,
OF_getencprop, OF_getencprop_alloc, OF_getprop_alloc, OF_getproplen,
OF_hasprop, OF_nextprop, OF_prop_free, OF_searchencprop,
OF_searchprop, OF_setprop

Edited by:	wblock
MFC after:	3 days
Differential Revision:	https://reviews.freebsd.org/D14511
2018-04-09 22:23:45 +00:00
Oleksandr Tymoshenko
df4531ffd9 [man] Fix return type of BUS_ADD_CHILD(9)
Fix return type of BUS_ADD_CHILD(9) in SYNOPSYS section,
it should be device_t, not int

PR:		207389
MFC after:	3 days
2018-04-09 05:48:12 +00:00
Oleksandr Tymoshenko
f510c340ce Document ofw_bus_subr helpers "compatible" and "status" properties
Add documentation for following functions:

- ofw_bus_is_compatible
- ofw_bus_is_compatible_strict
- ofw_bus_node_is_compatible
- ofw_bus_search_compatible
- ofw_bus_get_status
- ofw_bus_status_okay
- ofw_bus_node_status_okay

MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D14724
2018-04-08 20:53:00 +00:00
Mark Johnston
b1075b0ec5 Typo.
MFC after:	3 days
2018-04-04 20:15:41 +00:00
Landon J. Fuller
f3524ec8ed bhnd(4): include a subset of the ChipCommon capability flags in bhnd_chipid;
this provides early access to device capability flags required by bhnd(4)
bus and bhndb(4) bridge drivers.
2018-03-29 19:44:15 +00:00