From nobody Thu Oct 2 22:29:16 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cd60w2JlBz6BCKX for ; Thu, 02 Oct 2025 22:29:36 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic301-22.consmr.mail.gq1.yahoo.com (sonic301-22.consmr.mail.gq1.yahoo.com [98.137.64.148]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4cd60v0fNlz3h1G for ; Thu, 02 Oct 2025 22:29:35 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=NTEaxmdm; dmarc=pass (policy=reject) header.from=yahoo.com; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.64.148 as permitted sender) smtp.mailfrom=marklmi@yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1759444169; bh=+uN8iOZPDUx+BalkF78GrD5UurRk6kxsYJYZd1TkQm0=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From:Subject:Reply-To; b=NTEaxmdm48Cw7uqQ80sAlhVgq5iaG41rk+r/bXmBRFCND8K0ZZf3wbGskbmb/Cuj95W94d4SWXJxQ7ppFCTtb71xbEEqWdUsPt+ebKNkKpwVXSFDolkUywLkiaV2Vz4fM6NCggXOyxpu3k6uED2oI05zaiDk1624y7ICVakwAlJCDutLU/d9jSg/pP6Iaix0QChlMzBSP0LG9dPnUVrPUi6oA74jgo26dSZouJScUMlk0Pd8sIe4yjEErTtiZT3V8h7hhZuE44RxDH4KGB1kYEN+cROMCo/B7I6zEpf7OAsclxxRG0L7vAdWCY9LqdZX1eOapJggAP2QuAJNRnJAlQ== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1759444169; bh=tT7oNm0pQsXgFgzRmmN7Mt/ZZRGJ71nkc23wtaDwTif=; h=X-Sonic-MF:Subject:From:Date:To:From:Subject; b=OLnvuL6M/Ol2dJzMFcSpOVjCqZxPlmUkrF3/OJLyvUR950VxTbQ3av6fanowAeJj5Yjt8R5wtaubPptDUoS+7ir6Q7NJHAFPw5yYQBE8RZJov8o1lEoWfWFhNsLF2x1SbyFafOGtjGjQW7NtBhVqAkUOk8L7/jtDJZ6uzbLDjWahE2t6F98er2tROcrG6PuUw7YxvlleMW1lkVo8xMCHKWHKKn9QmJgKlCG1GYXUxs4TD0I8T3fpWPzn2J7+zhVYYIomwvRlGeHluHKnvCnmnTBxiBXpjR3QTiv0yucGyY4poQWxtFTcPq1wddji1fNWCK68kGCgAPF11FB0OZLqDQ== X-YMail-OSG: 8VcRcaUVM1mORVtPaGKbECRVscekInuYV_rwRftj6zf_.uLN5W.DoxDxMxRsp27 R1SjXtcw76u5vptDvg0np571.LPEAVlhjI8szwoC7Nr60H1Ls3E9Y9WG5VQgaHpyXNSVMQYOiiaq LYuRk_yXLLgWCCHemOmZfPSo_6FmRRBDSTD.ql26fYDnlsjr0eQEvM0MqSD9MygDVs.njOc9Mfzy X2Pc73FXGbSPoYBJWAmzM4YNeTeRLTnLE4vwpQtwjXUXbFcPA9vUX5ajS3.VWCp8Gtx27zciOmyF 31W2YTERP6oGXLxXlLZtYR6zRRgLVS9b6Hdq.CPwlJNovU0tXO9sFBI0upEGBamQXC4kmxy07a.s IWdgHnEJtLtuxemRnQxSNiHk7zyaHeRoZDPuUO1Vsutll7gIqjXDlsWmwSUc5brtho40ZGdMazLE mHCZyF35bO_fuuL77fC.zY9g8ujGb0zvr_.oIIthmhb3DuKw_Zh99XLpRgTopm1jvRruBKv9fB9_ i8Cry0MjJfrUU_GvawEEVXP6iuAJTjv_v9Blc.akWAgPJYpG.6fKbOufTF.D24vdtnJEy4b35McN E65rIsEWbAmOFL2ABwyRkByYD_kxpR4z4DIeTOIiNB5CnnTKTvGXBuEamisIam8YxxLxL_YbSMT5 VxDBV37UtrkMWqJlsOaScqt_t9kuNdGw1uJABUanr0txD78Piivg7uIvM.BHWlwyV6X1omKOMxN4 RPjAxO9duZcTo2.lkO482lL1FzKfn8pkvnFUYxqgG2MwOQNGQPsvcJsYvQ2V.oNBWjQ_FXKISzij PVn0Nuk5ak6sEDHH5Ya_TQzbhkU5JEqkPgiXsMA5LbvIodaHJpj3vTywwONaqosggCpsNaoAbC5B WqNP9nN4ujk.KQWSRQ8_HTFLCp0kHRIARCbst.XNJNRvBOULZqcvKgJQr8AFR2Qlos_0hfhStt5V RjzAJ5ugdw2oVh9JNXsb_qpUgooGBtToAZguK6jOQS4m9Kec6Ash0hZorLgacCefnKESHldAjUnI 8zJILnBvdiAudnK4vaWBJc5AHc01H5Rs8sjj0Ho5UCSx1NyF5f2Lpkyj8SLdw8ShpRbobSNrCJAR JQaVL4OiVPx6aRnp9uT3rYhufAms2wMUx0v1gatONJoingP0OQxUenFG_8nqVFgMgMNQ5elWcA74 1hATzAGQk6jmeaM1TGJLs6voVunJ9wLZvSBHoq6EY2xOqouE7EFx.PPXyO36agaxlxJt5EVy7SKO SAcWktG2VWCjpWRKAiIQyzaY.FfsqCyhU4klBUyzYz0YEzz0nbGmcxNv8.ynEHGCO3vF6pyf7qss zn.Fa1I7geAEUkyoEuwpfeimCyokuI9JQOgRo_d3j1az.KgXsxeut2gXb6byHz1QRqQtpE7uygmH L.lCNBF6q7D12WzLybTm_8L49CmWbEsa_HLOPnDqkuCyNp73j1flf9KOQsXY3klL5wq0x5ahKnrT L1h8cFsrPcPz1mLNDLIdDwHB2NPMJQjLC6IznVzT_iLSCg6.f86MBicRLj0bdv51XqOW7fh4Oqn3 HKCUmdR1ZYlkWXjf_Z1JQf94W6ESa0ADdofzrKCXuTvb7CSsXcK4JJLI23s_KPjiPXMRj9e7GNHG ZCmS4a1OtekVzP1.yQcG37G8b.ybAF6hrx.2wJ94DIeFpWvWgCi9PWpK8QZWKCOJ6Vc3WFl8rMUc toB9BU0uMOgfp8hxzMCIxfXlm_D6vcpDyr8A_tVtnLg4hiP6em5C6UK5_PEKnKTiARKrcIcaDIrG dMyNp.Xkf3B3rwQYnRcAOdr03PCoNtHlRA24r.jUfzses1BzIOYaBxLta4Pp.vHNx8NoMJyp2MgF xV1pDVyyoLW2faZ7Ym0_jYb6de1pUtJ2uKUMvoeLKgOMtrd7YfL9CSbLIRYULNCBFdH9toog9PS_ TorcBFL6MjXRQU7PIk7r9sY6nrGzPnxpy.BiYhL0P2dyOtoV.cNgf2strA1cmfvLjLth5XNWStvV 8DQU2EQ5eiGviZaHlFewwSqxoKOwrx7zh6bTi.48mIZnNuo1prlkmPTZK9siTFWG7Oj3l7jLZNYT HJnGeWGF3i2ZJ2rECPowhYt3xF32ZswI44x075hvW.jwfK8QabIrfDoDefZ4yKPYJPHL4Un2JTdm ErwCCx_Q6wlwGJMoprgRJ.wRC9w28.glsOHAFiT4rH8JsQJ46mCSufrakyKHHk2vcSeU2HVJgJxg i5iPEImTq1ghKFESeEF4cM4yYqTkMv4xq8qKFlZ7muGBPDjC0RiUd7CJUFYkOymdHiNSm1Ig.Bmj Oqa0V X-Sonic-MF: X-Sonic-ID: 9b920002-9618-4a38-a29a-88f3d99eb647 Received: from sonic.gate.mail.ne1.yahoo.com by sonic301.consmr.mail.gq1.yahoo.com with HTTP; Thu, 2 Oct 2025 22:29:29 +0000 Received: by hermes--production-gq1-66b66ffd5-rbd2r (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID d84a0225789024c13bb8928c4c33c00c; Thu, 02 Oct 2025 22:29:28 +0000 (UTC) Content-Type: text/plain; charset=us-ascii List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.700.81\)) Subject: Re: git: 2f7a796b590e - main - thunderbolt.4: Initial manual for HW Relnotes From: Mark Millard In-Reply-To: <8C91D367-E9E5-4750-AA81-8C673000778E@yahoo.com> Date: Thu, 2 Oct 2025 15:29:16 -0700 Cc: ziaee , dev-commits-src-main , obiwac Content-Transfer-Encoding: quoted-printable Message-Id: References: <8C91D367-E9E5-4750-AA81-8C673000778E@yahoo.com> To: Alexander Ziaee X-Mailer: Apple Mail (2.3826.700.81) X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.50 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; NEURAL_HAM_SHORT(-0.50)[-0.497]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; TO_DN_ALL(0.00)[]; FREEMAIL_TO(0.00)[runbox.com]; MIME_TRACE(0.00)[0:+]; ARC_NA(0.00)[]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; FREEMAIL_FROM(0.00)[yahoo.com]; DKIM_TRACE(0.00)[yahoo.com:+]; FROM_HAS_DN(0.00)[]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; APPLE_MAILER_COMMON(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.64.148:from]; RCVD_IN_DNSWL_NONE(0.00)[98.137.64.148:from] X-Rspamd-Queue-Id: 4cd60v0fNlz3h1G On Oct 2, 2025, at 12:22, Mark Millard wrote: > On Oct 2, 2025, at 10:25, Alexander Ziaee wrote: >=20 >> On 2025-10-02 12:47 -04:00 EDT, "Mark Millard" = wrote: >>> Alexander Ziaee wrote on >>> Date: Thu, 02 Oct 2025 15:14:07 UTC : >>>=20 >>>> The branch main has been updated by ziaee: >>>>=20 >>>> URL: = https://cgit.FreeBSD.org/src/commit/?id=3D2f7a796b590e67c5d123f2b00b3aaf7b= a7a32a13 >>>>=20 >>>> commit 2f7a796b590e67c5d123f2b00b3aaf7ba7a32a13 >>>> Author: Alexander Ziaee >>>> AuthorDate: 2025-10-02 12:05:25 +0000 >>>> Commit: Alexander Ziaee >>>> CommitDate: 2025-10-02 15:12:48 +0000 >>>>=20 >>>> thunderbolt.4: Initial manual for HW Relnotes >>>>=20 >>>> This manual contains nothing and is only suitable for the HW = Relnotes, >>>> but lets get it in so we have something and then can iterate on it. >>>>=20 >>>> MFC after: 3 minutes >>>> Fixes: 2ed9833791f2 (thunderbolt: Import USB4 code) >>>> Discussed with: obiwac >>>> Differential Revision: https://reviews.freebsd.org/D52847 >>>> --- >>>> share/man/man4/Makefile | 1 + >>>> share/man/man4/thunderbolt.4 | 22 ++++++++++++++++++++++ >>>> 2 files changed, 23 insertions(+) >>>>=20 >>>> diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile >>>> index f5d7a0e081fc..6e076722c786 100644 >>>> --- a/share/man/man4/Makefile >>>> +++ b/share/man/man4/Makefile >>>> @@ -589,6 +589,7 @@ MAN=3D aac.4 \ >>>> tdfx.4 \ >>>> termios.4 \ >>>> textdump.4 \ >>>> + thunderbolt.4 \ >>>> ti.4 \ >>>> timecounters.4 \ >>>> tmpfs.4 \ >>>> diff --git a/share/man/man4/thunderbolt.4 = b/share/man/man4/thunderbolt.4 >>>> new file mode 100644 >>>> index 000000000000..3477c11fb60d >>>> --- /dev/null >>>> +++ b/share/man/man4/thunderbolt.4 >>>> @@ -0,0 +1,22 @@ >>>> +.\" >>>> +.\" Copyright (c) 2025 Alexander Ziaee >>>> +.\" >>>> +.\" SPDX-License-Identifier: BSD-2-Clause >>>> +.\" >>>> +.Dd October 2, 2025 >>>> +.Dt THUNDERBOLT 4 >>>> +.Os >>>> +.Sh NAME >>>> +.Nm thunderbolt >>>> +.Nd USB4 controller driver >>>> +.Sh SYNOPSIS >>>> +.Cd device thunderbolt >>>> +.Sh HARDWARE >>>> +The >>>> +.Nm >>>> +driver supports USB4 controllers. >>>=20 >>> As I understand things, being fairly explicit related the >>> following is likely required (not a proposed wording or >>> presentation): >>>=20 >>> Quoting USB4 V2: "A USB4 Host or USB4 Peripheral Device can >>> optionally support interoperability with Thunderbolt 3 >>> (TBT3) products." >>>=20 >>> Quoting USB4 V1: "A USB4 host or USB4 peripheral device can >>> optionally support interoperability with Thunderbolt 3 >>> (TBT3) products." >>>=20 >>> In both, this is tied to Chapter 13, "Interoperability with >>> Thunderbolt(tm) 3 systems". As I understand FreeBSD is not >>> trying to meet the criteria in that chapter, for example. >>>=20 >>> USB4 does not require a certification process, as I >>> remember. Thunderbolt 4 and 5 do, as I remember. >>>=20 >>> As I remember, a distinction between USB4 and Thunderbolt 4 >>> and 5 was that Thunderbolt 4 and 5 require (nearly?) all >>> optional items from the matching USB4 version to be >>> implemented (so: not optional if Thunderbolt 4 or 5 is >>> claimed/certified). Also, it seems unlikely that FreeBSD >>> would go through a Thunderbolt 4 or 5 certification process. >>>=20 >>> Overall this seems to mean not meeting the Thunderbolt 4 >>> and/or 5 criteria fully and not supporting Thunderbolt 3 >>> --but just meeting the criteria for one or both of: >>>=20 >>> ) USB4 V1 without "TBT3" support >>> ) USB4 V2 without "TBT3" support >>>=20 >>> That would be a subset of the Thunderbolt 4 or 5 criteria >>> in a way that excludes Thunderbolt 3. >>>=20 >>> Referencing Thunderbolt without someplace being fairly >>> explicit about those types of relationships could easily >>> leave a misimpression (even if I've gotten some of the >>> status wrong above). >>>=20 >>> My guess here is that enough is known about the intent >>> in this area to be able to have material about this type >>> of thing in place at any time. >>=20 >> My impression is that actually nothing works yet, but we now have a = driver called thunderbolt which is made to support these controllers. = The driver is in, allegedly, and so it's existence needs to be mentioned = in the canonical places where we mention our drivers because people are = looking for them for assorted reasons. >=20 > I've actually booted a Dell Precision 5490 via external > USB4 media, but only when it was downstream of a Thunderbolt > 3 hub. All 4 USB ports are USB4 on this 5490. And that was > some time ago: early 2025-Feb with 1500031 of main 15. It > saw the USB4 media as nda0 at nvme0 . >=20 > This only works as much as it does because the UEFI/ACPI > involved supports enough to make some things possible > such that FreeBSD does not need to be as involved. >=20 > As I remember, I set up and did some live-plugging/unlugging > experiments any they lead to panics. The configuration had > to be as it was at boot time. If I remember right this > looked like Thunderbolt 3 mishandling (no surprise). >=20 > Directly connected, the transition from the kernel to > the world/root mount for the USB4 media fails instead. >=20 > I've not yet tried updating the USB4 media with a more > recent FreeBSD main 16 to see what happens now. I updated the USB4 boot media to be based on: # uname -apKU FreeBSD USB4sys 16.0-CURRENT FreeBSD 16.0-CURRENT = main-n280801-213170eb956f GENERIC-NODEBUG amd64 amd64 1600001 1600001 (It is from official pkgbase distribution use, a copy of another boot media with some parameters replaced afterwards.) I tried it and the system booted --via the USB4 media being "da0": # gpart show -p =3D> 34 500118125 nda0 GPT (238G) 34 2014 - free - (1.0M) 2048 1925120 nda0p1 efi (940M) 1927168 25165824 nda0p2 ms-reserved (12G) 27092992 473024512 nda0p3 linux-data (226G) 500117504 655 - free - (328K) =3D> 40 3907029088 da0 GPT (1.8T) 40 409600 da0p1 efi (200M) 409640 3638558720 da0p2 freebsd-ufs (1.7T) 3638968360 251658240 da0p3 freebsd-swap (120G) 3890626600 16402528 - free - (7.8G) No external hub involved. (As before, the external USB Ethernet plugged into one of the USB4 ports works too.) (The internal nvme showing up as nda0 has a ubuntu installation on it, as distributed by Dell.) I've only done basic boot testing and minimal use after that. Some basic testing of plugging and unplugging Thunderbolt 3 media did not lead to any crashes. This was both via a USB4 port and via the Thunderbolt 3 hub. An example for a USB4 port produced: pci12: on pcib8 pcib17: at device 0.0 on pci12 pcib17: failed to allocate initial I/O port window: 0-0xfff pcib17: failed to allocate initial memory window: 0-0xfffff pcib17: failed to allocate initial prefetch window: 0-0xfffff pci13: on pcib17 pcib18: at device 1.0 on pci13 pcib18: failed to allocate initial I/O port window: 0-0xfff pcib18: failed to allocate initial memory window: 0-0xfffff pcib18: failed to allocate initial prefetch window: 0-0xfffff pci14: on pcib18 pcib19: at device 2.0 on pci13 pcib19: failed to allocate initial I/O port window: 0-0xfff pcib19: failed to allocate initial memory window: 0-0xfffff pcib19: failed to allocate initial prefetch window: 0-0xfffff pci15: on pcib19 xhci2: mem = 0x73e00000-0x73e0ffff at device 0.0 on pci15 xhci2: 32 bytes context size, 64-bit DMA xhci2: xECP capabilities = usbus2 on xhci2 usbus2: 5.0Gbps Super Speed USB v3.0 pcib20: at device 4.0 on pci13 pcib20: failed to allocate initial I/O port window: 0-0xfff pcib20: failed to allocate initial memory window: 0-0xfffff pcib20: failed to allocate initial prefetch window: 0-0xfffff ugen2.1: at usbus2 uhub6 on usbus2 uhub6: on usbus2 uhub6: 4 ports with 4 removable, self powered pcib20: detached uhub6: detached ugen2.1: at usbus2 (disconnected) unknown: at usbus2, port 1, addr 1 (disconnected) usbus2: detached xhci2: Controller reset timeout. xhci2: detached pci15: detached pcib19: detached pci14: detached pcib18: detached pci13: detached pcib17: detached pci12: detached FYI: CPU: Intel(R) Core(TM) Ultra 7 165H (3072.00-MHz K8-class CPU) Origin=3D"GenuineIntel" Id=3D0xa06a4 Family=3D0x6 Model=3D0xaa = Stepping=3D4 . . . WARNING: L3 data cache covers more APIC IDs than a package (6 > 3) FreeBSD/SMP: Multiprocessor System Detected: 22 CPUs FreeBSD/SMP: Non-uniform topology # dmesg -a | grep "no driver attached" pci0: at device 5.0 (no driver attached) pci1: at device 0.0 (no driver attached) pci0: at device 11.0 (no driver attached) pci0: at device 13.2 (no driver attached) pci0: at device 13.3 (no driver attached) pci0: at device 18.0 (no driver attached) pci0: at device 20.2 (no driver attached) pci0: at device 21.0 (no driver attached) pci0: at device 21.3 (no driver attached) pci0: at device 22.0 (no driver attached) pci4: at device 0.0 (no driver attached) pci0: at device 31.5 (no driver attached) >> Patches to the doc are extremely welcome! >=20 > I'd need a lot more certainty about interpreting the > more informal references that are around vs. the > terminology in the USB4 specifications (or other > such). >=20 > I've been more trying to point out subject areas than > knowing for sure the details that I used for > illustration. >=20 >> Best, >> Alex >>=20 >>>> +.Sh HISTORY >>>> +The >>>> +.Nm >>>> +driver appeared in >>>> +.Fx 15.0 . >>>>=20 >>>=20 >>> =3D=3D=3D >>> Mark Millard >>> marklmi at yahoo.com =3D=3D=3D Mark Millard marklmi at yahoo.com