<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/nvme, branch release/14.4.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=release%2F14.4.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=release%2F14.4.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2026-01-31T18:25:02Z</updated>
<entry>
<title>nvme: Use proper prototype for SYSINIT functions</title>
<updated>2026-01-31T18:25:02Z</updated>
<author>
<name>Zhenlei Huang</name>
<email>zlei@FreeBSD.org</email>
</author>
<published>2025-10-13T10:12:29Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=3b697f765d11535783f01c4e325c822374dce76d'/>
<id>urn:sha1:3b697f765d11535783f01c4e325c822374dce76d</id>
<content type='text'>
MFC after:	1 week

(cherry picked from commit dd256c3fa738b6941f58355c077224c9a227b169)
(cherry picked from commit 6edef6b6364162932379bd172930d82b067177cf)
</content>
</entry>
<entry>
<title>nvme: Add constants for the Fused Operation (FUSE) field in commands</title>
<updated>2026-01-29T00:01:15Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2024-05-02T23:31:02Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=dfc0c1cdcfe7fdd25acacc4295b636a1f4dc1bc8'/>
<id>urn:sha1:dfc0c1cdcfe7fdd25acacc4295b636a1f4dc1bc8</id>
<content type='text'>
Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D44845

(cherry picked from commit 5e3e4442305d9e5af9862fac73feb0d7f37d4b56)
</content>
</entry>
<entry>
<title>nvme: add support for DIOCGIDENT</title>
<updated>2025-11-22T14:59:24Z</updated>
<author>
<name>Alan Somers</name>
<email>asomers@FreeBSD.org</email>
</author>
<published>2025-10-16T22:00:14Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=465c30c4f202b02cd9cb12f12d9ea856c84c5203'/>
<id>urn:sha1:465c30c4f202b02cd9cb12f12d9ea856c84c5203</id>
<content type='text'>
Add support for the DIOCGIDENT ioctl to both nvme controller device
nodes and namespace device nodes.

This information was already available via the nda(4) device node.
However, mapping /dev/nvmeX to /dev/ndaY device nodes is not
straightforward, so it's better to get it directly from the /dev/nvme
device node.

PR:		290259
Sponsored by:	ConnectWise
Submitted by:	imp (mostly)
Pull Request:	https://github.com/freebsd/freebsd-src/pull/1875

(cherry picked from commit 6d0001d44490becdd20d627ce663c72a30b9aac3)
</content>
</entry>
<entry>
<title>nvme: Add handling for bar5</title>
<updated>2025-11-04T18:15:17Z</updated>
<author>
<name>Jasper Tran O'Leary</name>
<email>jtranoleary@google.com</email>
</author>
<published>2025-10-28T20:43:35Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=dca645cd3112feefee2dce8cab029b1b779823b8'/>
<id>urn:sha1:dca645cd3112feefee2dce8cab029b1b779823b8</id>
<content type='text'>
The NVMe spec allows the Table BIR (TBIR) and PBA DIR (PBIR) to
be 0, 4, or 5. The existing NVMe driver basically only has support
for 4, perhaps under the assumption that BAR4 is 64-bit and also
occupies BAR5.

This change adds support for BAR5, covering the case where BAR4
and BAR5 might both be present and 32-bit, where the Table BIR
might be 4 and the PBA BIR might be 5, or vice versa.

The NVMe spec (in the SR-IOV section) also permits VFs to use BIR=2,
so I haven't added stricter checks on which BIR will be permitted
by the driver.

This enables FreeBSD on Google Compute Engine C4 Machines.

MFC after:		3 days
Reviewed by:		imp
Sponsored by:		Google
Co-authored-by:		Matt Delco &lt;delco@google.com&gt;
Signed-off-by:		Jasper Tran O'Leary &lt;jtranoleary@google.com&gt;
Differential Revision:	https://reviews.freebsd.org/D53140

(cherry picked from commit 7b32f4f0a7fe9b1b2f5a3905ca15f656713255ad)
</content>
</entry>
<entry>
<title>nvme: Tweak completion timeout loop</title>
<updated>2025-10-09T12:20:53Z</updated>
<author>
<name>Dag-Erling Smørgrav</name>
<email>des@FreeBSD.org</email>
</author>
<published>2025-10-08T10:07:13Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c2fd9060f32d21f60195af010973e5bc8d4d81ee'/>
<id>urn:sha1:c2fd9060f32d21f60195af010973e5bc8d4d81ee</id>
<content type='text'>
* Rename delta_t to avoid misleading simplistic syntax highlighters
* Simplify the increment calculation

Sponsored by:	Klara, Inc.
Sponsored by:	NetApp, Inc.
Reviewed by:	imp
Differential Revision:	https://reviews.freebsd.org/D52973

(cherry picked from commit 4070ae0e9a60715199f83004e7ebdfb169fc8cfc)
</content>
</entry>
<entry>
<title>nvme: Fix hotplug on one of the amazon platforms</title>
<updated>2025-03-30T23:44:57Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2025-02-25T16:29:14Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=25df691800f08756228d3ac52ac64d80e9fe998d'/>
<id>urn:sha1:25df691800f08756228d3ac52ac64d80e9fe998d</id>
<content type='text'>
Amazon EC2 m7i cloud instances use PCI hotplug rather than ACPI
hotplug. The card is removed and detach is called to remove the drive
from the system. The hardware is no longer present at this point, but
the bridge doesn't translate the now-missing hardware reads to all ff's
leading us to conclude the hardware is there and we need to do a proper
shutdown of it. Fix this oversight by asking the bridge if the device is
still present as well. We need both tests since some systems one cane
remove the card w/o a hotplug event and we want to fail-safe in those
cases.

Convert gone to a bool while I'm here and update a comment about
shutting down the controller and why that's important.

Tested by: cperciva
Sponsored by: Netflix

(cherry picked from commit dc95228d98474aba940e3885164912b419c5579d)
</content>
</entry>
<entry>
<title>nvme: Eliminate intel_log_temp_stats_swapbytes</title>
<updated>2024-08-26T18:31:03Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2024-04-16T22:36:47Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=1dac1524786b6600a2218adcebf4ad8977aa0341'/>
<id>urn:sha1:1dac1524786b6600a2218adcebf4ad8977aa0341</id>
<content type='text'>
We can't post a AER for this page, so there's no need to be able to swap
it to host byte order. It's not one of the standard defined pages that
can post via AER, and the vendor's public docs for this temperature page
don't suggest it's possible to get over or under event changes. Since
nvmecontrol no longer needsd the swap routine, remove it since it's
now unused.

Sponsored by:		Netflix
Reviewed by:		chuck
Differential Revision:	https://reviews.freebsd.org/D44659

(cherry picked from commit 97b77de2d951b4946fb3219a99c98f2dd4c0120f)
</content>
</entry>
<entry>
<title>nvme: Add NVMe over Fabrics fields to nvme_controller_data</title>
<updated>2024-08-26T18:31:00Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2024-03-23T00:24:52Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=46c77392cbfcccad947f6a7945431956f03acb6a'/>
<id>urn:sha1:46c77392cbfcccad947f6a7945431956f03acb6a</id>
<content type='text'>
Reviewed by:	imp
Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D44448

(cherry picked from commit 21d3a84db481e84cf240f6802b1a4110854eaec5)
</content>
</entry>
<entry>
<title>nvme: Add constants for the Controller Attributes field in cdata</title>
<updated>2024-08-26T18:27:59Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2024-03-23T00:24:31Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=9541862de74e437e01a2e0f3b978f6fb5f0568d4'/>
<id>urn:sha1:9541862de74e437e01a2e0f3b978f6fb5f0568d4</id>
<content type='text'>
Reviewed by:	imp
Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D44447

(cherry picked from commit 7fa8adb8c5cd46979b76770794ac1b6584e8baa7)
</content>
</entry>
<entry>
<title>nvme: Add constants and types for the discovery log page</title>
<updated>2024-08-26T18:27:53Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2024-03-23T00:24:18Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=759864ad7ad6f7ee949f496cc46ff906be9afcea'/>
<id>urn:sha1:759864ad7ad6f7ee949f496cc46ff906be9afcea</id>
<content type='text'>
This is used in NVMe over Fabrics to enumerate a list of available
controllers.

Reviewed by:	imp
Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D44446

(cherry picked from commit 88ecf154c7c5a2e413a81ae1b0511b0295265b99)
</content>
</entry>
</feed>
