概要
- Linux 7.2 リリースとAsahi Linuxの最新進捗報告
- Apple Silicon の電源管理とプラットフォーム特有の課題
- SPTM による新しいセキュリティ機構とそのLinux対応
- M3シリーズ への対応状況と新ハードウェアサポート
- 各種 ドライバー開発 やリバースエンジニアリングの進展
Linux 7.2リリースとAsahi Linux進捗報告
- Linux 7.2 のリリース、Asahi Linuxの最新進展
- Apple Silicon の電源管理インフラの複雑さ
- SMC、PMGR、PMPなど複数のハードウェアブロックによる制御
- CPUコアのスリープ制御 がバッテリー寿命改善の主要障害
- ARMコアの基本的なスリープは WFI命令 による
- WFIは実行停止だが、コアは電源ON・状態保持
- Appleコアには“deep WFI”モードも存在
- ベンダー固有の電源管理 が多発
- 標準化のため PSCI (Power State Coordination Interface)を推奨
- Apple Silicon はEL3未実装のため、PSCIの標準的な利用不可
- SMCやHVC命令が使えず、カスタムcpuidleドライバが必要
- m1n1 をファームウェア的に活用し、UEFI Runtime Services経由のPSCI実装を開発中
- Svenによるパッチが既にRFCとして公開
cpuidleとWFI制御の最新状況
- Apple Silicon のWFIループはデフォルトで状態保持しない
- ARM仕様ではWFI時に全状態保持が必須
- M1〜M3はchicken bitsでコアごとに状態保持設定が可能
- M4以降はAppleがchicken bitsをロック し、微調整不可に
- M4ではWFIでコア状態消失・クラッシュ問題が発生
- Yureka がカーネルコマンドラインパラメータでアイドルループ挙動を制御可能に
- 初期化中のクラッシュ防止、cpuidleドライバロード後に状態保存対応
Apple Siliconの新セキュリティ機構SPTM
- Apple はプラットフォームセキュリティ強化に注力
- SPTM (Secure Page Table Monitor)導入
- メモリ管理をハードウェアレベルで分離・保護
- 以前の PPL (Page Protection Layer)から進化
- PPLは攻撃者に突破され、SPTMはGXF(Guarded Execution Framework)上で動作
- SPTM はGL2で起動し、ページテーブル管理を独占
- XNUカーネルはSPTMとIPCで通信、接続失敗時は即パニック
- Asahi Linux 開発チームはm1n1ハイパーバイザでSPTMをエミュレート
- SvenによるSPRRとGXFのリバースエンジニアリング成果
- M4以降でもXNUトレース・新ハードウェアサポート継続可能に
M3シリーズ対応状況
- WebカメラISP はM3 Maxで初期化メッセージが1つ追加されたのみ
- chaos_princessがLinuxドライバを修正し、全M3でカメラ対応
- 内蔵マイク は“High Frequency”デシメータ追加
- 新係数・大きめの初期化メッセージに対応し、全M3でマイク対応
- ATCPHY (USB3/DisplayPort/Thunderbolt制御)はN3プロセス対応で初期化手順変更
- USBポートコントローラ はM3 Pro/MaxでCD3217(ACE2)からACE3へ
- ACE3はSPMIバス使用、I2Cから移行
- mildsunriseとchaos_princessが逆アセンブルし、USB 3.0/Thunderbolt対応を実現
- GPU/ディスプレイコントローラのファームウェアABI も変更予想
- 各世代ごとに特定macOSバージョンをターゲットとする運用
今後の展望とまとめ
- Apple Siliconの新機能・仕様変更に迅速対応する Asahi Linux開発体制
- リバースエンジニアリング とカーネルパッチ開発による互換性維持
- Linux 7.2 とともに、今後も新ハードウェア・機能対応を拡大予定