Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
NTB_HW_PLX(4)		    Kernel Interfaces Manual		 NTB_HW_PLX(4)

NAME
       ntb_hw_plx -- PLX/Avago/Broadcom	Non-Transparent	Bridge driver

SYNOPSIS
       To  compile  this driver	into your kernel, place	the following lines in
       your kernel configuration file:

	     device ntb
	     device ntb_hw_plx

       Or, to load the driver as a module at boot, place the following line in
       loader.conf(5):

	     ntb_hw_plx_load="YES"

       The following tunables are settable from	the loader(8):

       hint.ntb_hw.X.b2b
       Being set to 1 (default)	tells the driver attached to Virtual Interface
       of the NTB that it works	in NTB-to-NTB (back-to-back) mode, 0  --  NTB-
       to-Root	Port.	Driver	attached  to Link Interface (visible from Root
       Port side) switches to NTB-to-Root Port mode automatically, but one at-
       tached to Virtual Interface can't detect	what is	on the other side  and
       require external	knowledge.

       hint.ntb_hw.X.split
       Being  set above	zero splits BAR2 into 2^x memory windows using Address
       Lookup Table (A-LUT).

DESCRIPTION
       The ntb_hw_plx driver provides support for the  Non-Transparent	Bridge
       (NTB) hardware in PLX PCIe bridge chips,	which allow up to two of their
       PCIe  ports  to	be switched from transparent to	non-transparent	bridge
       mode.  In this mode bridge looks	not as a PCI bridge, but as  PCI  end-
       point  device.  The driver hides	hardware details, exposing memory win-
       dows, scratchpads and doorbells of the other side via hardware indepen-
       dent KPI	to ntb(4) subsystem.

       Each PLX	NTB provides up	to 2 64-bit or 4 32-bit	memory windows to  the
       other system's memory, 6	or 12 scratchpad registers and 16 doorbells to
       interrupt  the  other  system.	If Address Lookup Table	(A-LUT)	is en-
       abled, BAR2 can be split	into several (up to 128) memory	 windows.   In
       NTB-to-NTB  mode	 one  of memory	windows	(or half of it,	if bigger then
       1MB) is consumed	by the driver itself to	access scratchpad and doorbell
       registers of the	other side.

HARDWARE
       The following PLX/Avago/Broadcom	chips are supported by the  ntb_hw_plx
       driver:

          PEX 8713
          PEX 8717
          PEX 8725
          PEX 8733
          PEX 8749

       , but it	may also work with other compatible ones.

CONFIGURATION
       The  basic  chip	 configuration	should be done by serial EEPROM	or via
       i2c.  It	includes enabling NTB on one or	both sides  (choosing  between
       NTB-to-NTB  (back-to-back)  and NTB-to-Root Port	modes) and configuring
       BARs sizes.

       The recommended mode is NTB-to-NTB mode,	since while  NTB-to-Root  Port
       is  generally  supported	by the driver, it require PCI hotplug handling
       on the Root Port, that may be difficult or  cause  different  kinds  of
       problems.

SEE ALSO
       if_ntb(4), ntb(4), ntb_transport(4)

AUTHORS
       The ntb_hw_plx driver was written by Alexander Motin <mav@FreeBSD.org>.

BUGS
       There  is  no way to protect your system	from malicious behavior	on the
       other system once the link is brought up.  Anyone with root  or	kernel
       access  on  the	other system can read or write to any location on your
       system.	In other words,	only connect two systems that completely trust
       each other.

FreeBSD	15.0		       November	9, 2019			 NTB_HW_PLX(4)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ntb_hw_plx&sektion=4&manpath=FreeBSD+15.0-RELEASE+and+Ports.quarterly>

home | help