Linux カーネルが Apple M デバイスの Thunderbolt サポートを完了し始める M1/M2/M3 が USB4 プロトコルのサポートで主導権を握る

📅 2026-09-01

要約:

Asahi Linux プロジェクトの開発者の取り組みのおかげで、Linux カーネルは間もなく M1/M2/M3 チップを搭載したデバイスで USB4 プロトコルをサポートする予定です。この一連の関数は、Asahi Linux によって保守されているダウンストリーム コードに以前から存在していました。この提出の重要性は主に、関連するドライバーが Linux メインラインに正式に参入することを促進することです。

Apple の USB4 アーキテクチャは通常の PC とは異なります。

M チップを搭載したデバイスで Apple が提供する USB4 プロトコルは、通常の PC とは異なります。各 Apple USB4 Type-C インターフェイスには、Cortex-M3 コプロセッサ、USB4 ホスト ルーティング、ネイティブ ホスト コントロール プレーン、および DART IOMMU を統合する ACIO と呼ばれるハードウェア モジュールが含まれています。

これらのハードウェアはメイン プロセッサに継続的にさらされるわけではありません。メインプロセッサは、ACIO コプロセッサの実行後に 16MiB MMIO ウィンドウを介してのみ内部デバイスにアクセスできます。したがって、ドライバーはインターフェイスの接続ステータスに従って ACIO モジュールの電源をオンにし、RTKit コプロセッサを起動してから、DART および NHI デバイスを動的に作成する必要があります。

インターフェイスが切断された場合は、逆の順序でデバイスを破壊し、電源をオフにする必要があります。これは、M チップを搭載した Apple デバイスが Linux のアップストリーム サポートを得ることが長い間困難であった主な理由でもあります。

NHI ドライバーには多くの Apple 固有の処理が必要です。

Asahi Linux エンジニアによって提出されたパッチには、Apple Thunderbolt プロトコル用の 1,000 行を超えるドライバー コードが追加されています。このパッチは、Linux カーネルの既存の Thunderbolt コアも変更します。 Apple NHI により、各リングは独立した割り込み設計を持つことができ、そのレジスタ レイアウト、リング構成、および端子処理はユニバーサル USB4 コントローラとは異なります。

M3 では、Apple はより厳格な管理を実装し、異なるデータ チャネル間の分離を強化するために、異なる TX/RX リングに最大 24 の IOMMU エントリを提供します。また、Apple ハードウェアは、Linux の既存の USB4 コードで期待される USB3 帯域幅割り当てレジスタの一部を実装していないため、Asahi Linux エンジニアによって提出されたパッチには、関連プロセスをバイパスするために Quirk が特別に追加されています。

Thunderbolt のサポートはまだ完全ではありません:

コードの最初のバッチは現在、XDomain のホスト間接続と USB3-over-USB4 トンネリングのみをサポートしています。 PCIe デバイス トンネリングと DP ビデオ トンネリングはまだ完了していません。したがって、Thunderbolt ドッキング ステーション、外部グラフィックス カード、高速 PCIe デバイス、Thunderbolt プロトコルを介して接続されたモニターなどのシナリオは、依然として適切に動作することが保証されていません。

Asahi Linux エンジニアによって提出されたパッチは、M1/M2/M3 プラットフォームで開発およびテストされていますが、現在 Linux カーネル メーリング リストのレビュー段階にあり、まだ正式に Linux カーネルにマージされていません。

関連タグ

関連記事

コメント

0/500
Captcha (click to refresh)
コメントなし