ウェブサイト検索

QEMU 9.2が強化されたRISC-Vサポートと新しいマシンタイプでリリースされました


QEMU 9.2オープンソースマシンエミュレーターは、高度なARMサポート、Nitro Enclaveエミュレーション、Vulkan強化グラフィックスなどを導入しました。

QEMU、人気のオープンソースのマシンエミュレーターおよびバーチャライザーが、注目すべきさまざまな改善、非推奨、削除をもたらす9.2リリースを発表しました。

このアップデートにはいくつかの重大な変更が含まれていますが、同時により明確なロードマップと新しいハードウェア機能や構成に対する改善されたサポートも提供します。言い換えれば、QEMU 9.2はユーザーが既存のセットアップの一部を調整する必要があるかもしれませんが、最終的にはより柔軟で将来に対応した仮想化環境への道を開くことを目指しています。

まず、QEMU 9.2では、いくつかの長らく非推奨とされた機能やオプションが削除されました。例えば、以前PXA2xxマシンに関連していた-rotateおよび-portraitのコマンドラインオプションは、これらのマシンがもはやサポートされていないため、排除されました。

同様に、9pfs の古い「プロキシ」バックエンドおよびそれに付随するvirtfs-proxy-helper プログラムは、「ローカル」バックエンドドライバーまたはより最新のvirtio-fs ソリューションに代わって撤回されました。さらに、「secret」および「tlscreds」オブジェクトタイプから「loaded」のような特定のプロパティが完全に削除されました。これは実際的な機能を果たしていなかったためです。

一方で、さまざまなオプションが現在、非推奨カテゴリーに入っており、ユーザーはそれらからの移行を準備すべきことを示しています。たとえば、query-migrationthreads コマンド、ブロックデバイス用のgluster バックエンド、およびキャラクターおよびネットワークデバイス用の「reconnect」 オプションはすべて非推奨としてマークされています。

ユーザーは、デバイス用の“reconnect-ms”など、提案された置き換えを採用するか、ブロックマイグレーションやI/Oのための新しい戦略を探ることを奨励されています。これらの変更は最初は不便に感じるかもしれませんが、QEMUのメンテナーは、長期的にはよりクリーンで一貫したコードベースを確保することに決意しています。

ハードウェアエミュレーションの観点から見ると、Armアーキテクチャにはいくつかの重要な改善があります。FEAT_EBF16やFEAT_CMOWのような新しいCPUアーキテクチャ機能が導入されました。さらに、sbsa-refおよびvirtボードは、より強力なメモリ仮想化機能を提供する二段階変換が可能なシステムメモリ管理ユニット(SMMU)を備えています。

macOSホストで15以上のバージョンを実行している場合、hvfアクセラレーターは、基盤となるCPUがサポートしている限り、36ビットアドレッシングを超える大きなメモリ空間を持つVMを処理できるようになりました。これにより、より大規模なワークロードやリソース集約型アプリケーションが新しいAppleハードウェア上でスムーズに動作することが可能になります。

さらに、QEMU 9.2は以前に非推奨とされた古いArmマシンタイプのいくつかを削除しました。その結果、akita、borzoi、およびいくつかの他のマシンがついに廃止されました。

同様に、上流のLinuxサポートや最新のツールチェーンが不足していたため、維持することがほぼ不可能になったCRISターゲットは完全に削除され、QEMUの実際に関連するアーキテクチャへのサポートが簡素化されました。

RISC-Vの分野では、このリリースは大きな進展をもたらします。例えば、QEMU 9.2では、vlをceil(AVL/2)に設定するプロパティが追加され、F拡張のためのログにfcsrレジスタが追加され、ベクトルのロード/ストア命令の改善も含まれています。

さらに、KVMの下でAIA(Advanced Interrupt Architecture)のサポートを拡張し、ユーザーがRISC-Vハードウェア上でIOMMUおよび制御フロー整合性(CFI)拡張を実験できるようにします。これらの進展は、業界でのアーキテクチャの採用が進む中、QEMUがRISC-Vに対する継続的なコミットメントを強調しています。

x86に移ると、「ニトロエンクレーブ」と呼ばれる新しいマシンタイプが登場し、AWS Nitro Enclave環境のエミュレーションを可能にし、EIF(エンクレーブイメージフォーマット)ファイルからのブートをサポートします。これは、安全で隔離された実行環境を必要とするクラウド志向のユーザーの要求に応えるもう一歩前進です。

さらに、QEMUのKVMサポートはAVX10命令を取り入れており、ユーザーの要求やホストCPUの能力に応じて、さまざまな方法(例えば、avx10-128、avx10-256など)で構成できます。

デバイスエミュレーションとフロントエンド機能の領域では、QEMU 9.2がVulkanのためのvenusカプセル化でvirtio-gpuを強化し、特定の使用ケースにおいてグラフィックス性能が改善される可能性があります。一方で、virtio-memはx86-64でのサスペンド/再開をサポートし、より動的で柔軟なメモリ割り当て動作を約束しています。

開発およびプロセスの側面では、QEMU 9.2はデバイスモデルのための実験的なRustサポートを導入しています。まだ本番環境での使用は推奨されていませんが、ホストシステムが必要なRustコンパイラとbindgenのバージョンを満たしている場合、Rustベースのデバイスモデルを有効にするのはQEMUを–enable-rustで設定するだけで簡単です。

プラットフォームポリシーには例外があることに注意する価値があります。また、特定の配布版ではRustを有効にしてQEMUをビルドする際に課題があるかもしれません。それにもかかわらず、Rustの導入はプロジェクトの開発慣行における転機を示しており、今後のQEMUの機能がどのように実装されるかに影響を与える可能性があります。

最後に、スムーズなビルドと実行のために、QEMUは現在、Mesonバージョン1.5.0以上を必要とし、新しいnitro-enclaveマシンタイプはlibcborへの依存関係をもたらします。さらに、機能テストのためにpycotap Pythonモジュールが新たに含まれており、QEMUはAvocadoのような古いフレームワークからより現代的でメンテナンスしやすいソリューションへの移行を反映しています。

新しいリリースはQEMUの公式ダウンロードページからダウンロードできます。ユーザーはそこでtarballを見つけることができます。詳細に興味がある方は、変更履歴を訪れて、変更の完全なリストを確認してください。

関連記事: