xref: /freebsd/share/man/man4/ntb.4 (revision ce110ea12fcea71ae437d0a1d0549d3d32055b0e)
1.\"
2.\" Copyright (c) 2017 Alexander Motin <mav@FreeBSD.org>
3.\" All rights reserved.
4.\"
5.\" Redistribution and use in source and binary forms, with or without
6.\" modification, are permitted provided that the following conditions
7.\" are met:
8.\" 1. Redistributions of source code must retain the above copyright
9.\"    notice, this list of conditions and the following disclaimer.
10.\" 2. Redistributions in binary form must reproduce the above copyright
11.\"    notice, this list of conditions and the following disclaimer in the
12.\"    documentation and/or other materials provided with the distribution.
13.\"
14.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24.\" SUCH DAMAGE.
25.\"
26.\" $FreeBSD$
27.\"
28.Dd August 29, 2019
29.Dt NTB 4
30.Os
31.Sh NAME
32.Nm ntb
33.Nd Non-Transparent Bridge subsystem
34.Sh SYNOPSIS
35To compile it into your kernel,
36place the following lines in your kernel configuration file:
37.Bd -ragged -offset indent
38.Cd "device ntb"
39.Ed
40.Pp
41Or, to load it as a module at boot, place the following line in
42.Xr loader.conf 5 :
43.Bd -literal -offset indent
44ntb_load="YES"
45.Ed
46.Pp
47The following tunables are settable from the
48.Xr loader 8 :
49.Bl -ohang
50.It Va hw.ntb.debug_level
51Driver debug level.
52The default value is 0, higher means more verbose.
53.It Va hint.ntb_hw. Ns Ar X Ns Va .config
54Configures a set of NTB functions, separated by commas,
55and their resource allocation.
56Each function can be configured as: "[<name>][:<mw>[:<spad>[:<db>]]]", where:
57.Va name
58is a name of the driver to attach (empty means any),
59.Va mw
60is a number of memory windows to allocate (empty means all available),
61.Va spad
62is a number of scratchpad registers to allocate (empty means all available),
63.Va db
64is a number of doorbells to allocate (empty means all available).
65The default configuration is empty string, which means single function
66with all available resources, allowing any driver to attach.
67.El
68.Sh DESCRIPTION
69Non-Transparent Bridges connect two computer systems with PCIe
70link(s), providing each of them limited access to others memory space,
71scratchpad registers and interrupts.
72The
73.Nm
74subsystem uses those resources provided in generic way by hardware drivers
75and splits them between several functions, according to specified
76configuration.
77.Sh SEE ALSO
78.Xr if_ntb 4 ,
79.Xr ntb_hw_amd 4 ,
80.Xr ntb_hw_intel 4 ,
81.Xr ntb_hw_plx 4 ,
82.Xr ntb_transport 4
83.Sh AUTHORS
84.An -nosplit
85The
86.Nm
87subsystem was developed by Intel and originally written by
88.An Carl Delsey Aq Mt carl@FreeBSD.org .
89Later improvements were done by
90.An Conrad E. Meyer Aq Mt cem@FreeBSD.org
91and
92.An Alexander Motin Aq Mt mav@FreeBSD.org .
93