NTB_HW_AMD(4)

πŸ“¦ version 15.1, in freebsd 14.5, freebsd 15.1, nixpkgs unstable

✨ NAME ✨

NTB_HW_AMD(4) is the manual page for the ntb_hw_amd driver β€” aka the AMD Non-Transparent Bridge driver, bestie πŸ’…. It's giving niche but iconic, no cap.


πŸ¦‹ SYNOPSIS πŸ¦‹

Okay so if you wanna compile this driver into your kernel, put these lines in your kernel configuration file, fr fr:

device ntb
device ntb_hw_amd

Or, if you'd rather load the driver as a module at boot, put this line in loader.conf(5) β€” yes, that loader.conf(5), iykyk πŸŽ€:

ntb_hw_amd_load="YES"

The following sysctls are supported in this driver:

  • dev.ntb_hw.X.info β€” reading this sysctl gives you the basic details, like the number of memory windows, scratchpads and doorbells exposed by the NTB on the local host to access the devices beyond the bridge. It also provides details about the masked doorbells, translation address and size limit of each exposed memory window, and link status information. It's basically the driver's little info dump, and honestly? Obsessed 🫢.

πŸ’– DESCRIPTION πŸ’–

The ntb_hw_amd driver provides support for the Non-Transparent Bridge (NTB) hardware in the AMD EPYC processor family ✨.

The Non-Transparent Bridge doesn't look like a regular PCI bridge β€” it looks like a PCI endpoint device, hiding the devices behind it. Sneaky little main character energy, honestly πŸ’€. The driver hides details of the hardware on the other side, but exposes memory windows, scratchpads and doorbells to access the other side via a hardware independent KPI to the ntb(4) subsystem. Slay.

The hardware provides 2 (both 64-bit) or 3 (one 32-bit and two 64-bit) memory windows to the other system's memory, up to 16 scratchpad registers and 16 doorbells to communicate with and interrupt the other system respectively πŸ¦‹. The way that's a whole communication setup β€” periodt.


πŸŽ€ CONFIGURATION πŸŽ€

The NTB configuration should be set by BIOS πŸ‘‘. This includes enabling NTB, choosing topology (only NTB-to-Root Port mode is supported now), and the role of the host in the topology. And yes, this needs to be done on both systems β€” not me reminding you, but also literally me reminding you πŸ™ˆ.

The BAR size for memory windows is configured to 1 MiB by default. Cute, compact, defaults are iconic.


🌈 SEE ALSO 🌈

Go read those too, bestie β€” the lore is interconnected πŸ’œ.


πŸ‘‘ AUTHORS πŸ‘‘

The ntb_hw_amd driver was developed by AMD and originally written by Rajesh Kumar <rajesh1.kumar@amd.com> 🫢.

Reviewed by Alexander Motin <mav@FreeBSD.org>, Conrad E. Meyer <cem@FreeBSD.org> and Warner Losh <imp@FreeBSD.org> ✨. We love a reviewed-by lineup, ngl.


Okay that's the whole page β€” this is the Debian manual, dated August 29, 2019, and it's the NTB_HW_AMD(4) page. Bye bestie, go configure that BIOS πŸ’…πŸ’–

πŸ“¦ where this page comes from