Intel APX×AMDレジスタ拡張にKVMが対応|次世代CPU仮想化の実装動向

HOMEリナックスマスター.JP 公式ブログLinux情報・技術・セキュリティ > Intel APX×AMDレジスタ拡張にKVMが対応|次世代CPU仮想化の実装動向
宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)

「次のCPUに替えれば仮想マシンも速くなる」と、漠然と期待している管理者は多いと思います。ただ実際には、ハードウェアの新機能がゲストOSの中まで届くには、Linuxカーネルとハイパーバイザ(KVM)側の対応が前提になります。CPUが32本のレジスタを持っていても、KVMがそれをゲストに見せる仕組みを実装していなければ、仮想マシンの中では使えません。

いま、その「橋渡し」の部分で大きな動きが二つ進んでいます。一つはIntelのAPX(Advanced Performance Extensions)をKVMゲストで使えるようにするパッチ群、もう一つはAMDのZen 5で入ったERAPSという分岐予測セキュリティ機能の仮想化対応です。どちらも、次世代CPUを仮想化基盤で運用する管理者にとって、知っておくと判断が変わる話です。本記事では、一次情報(kernel.orgのメーリングリスト・LWN・カーネル更新情報)で裏を取りながら、何が確定し、何がまだ開発中なのかを切り分けて整理します。


Intel APX×AMDレジスタ拡張にKVMが対応|次世代CPU仮想化の実装動向
「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

Intel APXとは何か - レジスタを16本から32本へ倍増する拡張

Intel APX(Advanced Performance Extensions)は、x86-64の汎用レジスタ(GPR)を従来の16本から32本へ倍増させる命令セット拡張です。増えた16本(R16~R31)は「拡張GPR(EGPR、Extended General Purpose Registers)」と呼ばれます。

レジスタが増えると何が嬉しいのか。ざっくり言えば、CPUが計算の途中結果をメモリに退避させる回数を減らせます。レジスタはCPU内部の最速の置き場で、ここに収まりきらないデータはメモリ(より遅い場所)に書き戻すことになります。置き場が倍になれば、その書き戻し(スピル)が減り、メモリアクセスの回数が下がります。Intelはこの効果を計算集約的なワークロードで効くものと位置づけています。

技術的には、APXは新しい2バイトの「REX2プレフィックス」を導入し、既存のレガシー整数命令から32本のレジスタへ統一的にアクセスできるようにしています。AVX系の命令については、既存のEVEXプレフィックスを拡張するかたちで対応します。命令の頭に付ける「プレフィックス」を新設・拡張することで、命令セット全体を作り直さずにレジスタ本数を倍にしている、という設計です。

注意したいのは、APXが実機に載るのはこれからだという点です。Intelは次世代のNova LakeおよびDiamond Rapids世代でAPXがデビューするとしています。つまり現時点では、ハードウェアより先にソフトウェア(カーネル・コンパイラ)側の受け入れ準備が進んでいる段階です。LWNの解説でも、パッチ投稿時点では実機が存在せず、Intel内部のエミュレータで検証している旨が記されています。

KVMがAPXに対応する動き - 確定部分と開発中部分を分ける

ここが本記事の核心です。APXのカーネル対応は「ホスト側」と「ゲスト側」で進み方が違います。混同すると誤解するので、分けて押さえます。

ホスト側(確定・マージ済み)。物理マシン(ホスト)でAPXを使うためのカーネルインフラは、Linux 6.16で取り込まれています。GCCやLLVM/Clangといったコンパイラ側のツールチェーン対応も、この時期にそろいました。つまり、ホスト上で動くプログラムがAPXを使う土台は、すでにメインラインにあります。

ゲスト側(開発中・未マージ)。仮想マシンの中でAPXを使えるようにするKVMの対応は、まだ開発中です。Intelのエンジニア Chang S. Bae 氏が、APXをKVMゲストで有効化するための16本構成のパッチシリーズを、RFC(提案募集)段階を経た「post-RFC」として投稿しています(LKMLで確認できる範囲では2025年12月に投稿された版が直近です)。

このパッチシリーズが触っている主な領域は、次のようなものです。

  • 汎用レジスタのアクセサ(読み書き処理)コードのリファクタリング
  • VMX(Intelの仮想化機構)で拡張レジスタインデックスを扱えるようにする対応
  • REX2プレフィックスのエミュレーションサポート
  • CPUID列挙(ゲストにAPXの存在を正しく見せる処理)
  • VM exit/entry(ホストとゲストの切り替え)時の拡張GPRの保存・復元

とりわけ管理者として意味があるのは、シリーズ中の「KVM: x86: Guard valid XCR0.APX settings」というパッチ(16本中の13本目)です。これは、APXを有効化するXCR0レジスタの設定で不正な組み合わせを弾く処理を追加しています。具体的には二点。非圧縮のXSAVEフォーマットでは、廃止予定のMPX(Memory Protection Extensions)とAPXが同じ保存領域のオフセットを取り合うため、両方を同時に有効にする構成をKVMが明示的に拒否します。もう一点は、現時点で拡張レジスタ(EGPR)をサポートしているのはIntelのVMXだけで、AMDのSVM側ではAPXを無効化している、という扱いです。

このSVM側の扱いは、後で触れるAMDの動きとあわせて理解すると、現在地が見えやすくなります。要するに、APXのゲスト対応は「Intel VMX向けに、まずメインライン入りを目指して詰めている最中」というのが正確な現在地です。確定情報として扱える段階ではありません。

PR

詳解 システム・パフォーマンス 第2版(Brendan Gregg 著、オライリー・ジャパン)

レジスタやXSAVE、VM exit/entryのコストといった「なぜ速くなる・遅くなるのか」をOSとハードウェアの境界から理解したい管理者向け。CPU機能の話を表面でなく構造で読めるようになる一冊です。


Intel APX×AMDレジスタ拡張にKVMが対応|次世代CPU仮想化の実装動向 - 解説1

AMDのERAPS仮想化 - こちらはLinux 7.0で確定

AMD側でいま動いているのは、レジスタ本数の話ではなく、ERAPS(Enhanced Return Address Predictor Security、強化されたリターンアドレス予測のセキュリティ機能)の仮想化です。名前が似た領域なので混同されがちですが、APXとは別物です。ここは正確に分けておきます。

ERAPSはZen 5世代で導入された機能です。CPUは関数からの戻り先(リターンアドレス)を高速に予測するためにRSB(Return Stack Buffer)という内部バッファを持っています。このRSBは投機実行の対象になるため、過去にはSpectre系の攻撃面として扱われ、仮想マシンの切り替え時にソフトウェア側で明示的にRSBを埋め直す(スタッフィング/フィリングする)対策が取られてきました。

Zen 5ではRSBが従来の32エントリから64エントリへ拡張され、ERAPSによってVMコンテキストごとに分離・管理できるようになりました。そして、このERAPSをKVMゲストで使えるようにする仮想化サポートが、Linux 7.0でAMDのSVMコードに追加されています。こちらは提案段階ではなく、マージ済みの確定情報です。

管理者にとっての実利は二つあります。一つは、VMEXIT(ゲストからホストへ抜ける瞬間)ごとに行っていた明示的なRSB埋め直しが不要になり、その分のオーバーヘッドが減ること。もう一つは、Zen 5以降のゲストが完全なERAPS仮想化の恩恵を受けられ、分岐予測まわりのセキュリティが仮想化環境でも素直に効くようになることです。なお、ERAPS仮想化のさらなる改善は次の開発サイクル以降で続く見込みです。

管理者にとって、これは何を意味するのか

二つの動きを管理者目線でまとめると、こうなります。

「CPUを更新しただけでは仮想マシンの中まで届かない」という原則を、改めて意識する必要があります。Intel APXのように、ホスト対応(Linux 6.16)とゲスト対応(開発中)でタイミングがずれる機能は珍しくありません。物理サーバーにNova Lakeを載せても、その上のKVMゲストがAPXを使えるかどうかは、稼働しているカーネルのバージョンとKVMの実装次第です。「ハードが対応=VMでも使える」ではない、という当たり前を、調達やキャパシティ計画の前提にしておくべきです。

確定情報と開発中情報を、自分で切り分けて読む習慣が要ります。ニュース記事の見出しだけを見ると、APXもERAPSも「KVMが対応した」と同列に見えがちです。しかし実態は、ERAPSはLinux 7.0でマージ済み、APXのゲスト対応はまだメインライン未マージのパッチシリーズ、と段階がまったく違います。本番計画に落とすときは、必ずカーネルのバージョンと該当コミットのマージ状況まで確認する。これは速報を扱う管理者の基本動作です。

セキュリティ機能の仮想化対応は、性能と安全の両面で効きます。ERAPSのように、もともとSpectre対策で課していたソフトウェアの埋め直し処理がハードウェア+仮想化対応で不要になると、安全性を保ったままオーバーヘッドが下がります。「セキュリティ対策=遅くなる」という古い前提は、こうした世代交代で少しずつ書き換わっています。新CPU世代の評価では、レジスタ本数のような派手な数字だけでなく、こうした地味な仮想化対応も見ておくと判断を誤りません。

PR

Linuxカーネル Hacks(オライリー・ジャパン)

カーネルのCPU・メモリ管理や仮想化(Xen/KVM)まわりを、現役の視点でつまみ食いしながら把握したい方へ。今回のような「ハードの新機能がカーネルでどう受け止められるか」を読むための土台づくりに向いています。


Intel APX×AMDレジスタ拡張にKVMが対応|次世代CPU仮想化の実装動向 - まとめ

Linux管理者向けの教訓 - 一次情報をたどる力が差になる

今回のテーマは、カーネルのメーリングリスト(LKML)やLWN、カーネル更新情報といった一次情報をたどれば、確定と開発中をきちんと切り分けられました。逆に、まとめ記事だけを拾い読みしていると「Intel APXにKVMが対応した」と早合点しかねません。実際には、AMD ERAPSはLinux 7.0でマージ済み、Intel APXのゲスト対応はまだ提案中のパッチシリーズ、という温度差があります。

私自身、20年以上Linuxサーバーの現場に関わってきて痛感するのは、こうした「どこまでが確定で、どこからが開発中か」を自分の手で確かめられるかどうかが、長く効く差になるということです。新機能のニュースに振り回されず、kernel.orgやメーリングリストで該当コミットを確認する。XSAVEやVM exitといった用語が出てきたときに、それがどのレイヤの話か即座に位置づけられる。こうした地力は、特定のコマンドの暗記ではなく、OSとハードウェアの境界がどう作られているかという基礎理解から生まれます。

仮想化基盤を預かる管理者にとって、CPUの世代交代はこれからも続きます。そのたびに「VMの中で使えるのか」「いつのカーネルからか」を自力で判断できる体力があれば、ベンダーの売り文句にも、SNSの早合点にも流されずに済みます。基礎を体系で押さえておくことの価値は、こういう速報の場面でこそ表れます。

「VMの中でその機能、本当に使えるの?」を自分で判断できますか?

ホスト対応とゲスト対応のずれ、XSAVEやVM exitの意味、確定情報と開発中情報の切り分け。新CPUのニュースを正しく読むには、結局Linuxとハードウェアの境界を理解する基礎体力がものを言います。
ネットの切れ端の情報をつなぎ合わせるのではなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。

「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録
宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として20年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。


Linux無料マニュアル(図解60P) 名前とメールで30秒登録