AMD CPUのSME機能が有効になっているかどうかはどうすればわかりますか?

AMD CPUのSME機能が有効になっているかどうかはどうすればわかりますか?

最新のAMD CPUには、次のソフトウェアがあります。SMB用の安全なメモリ暗号化利用可能な場合は、このパラメータをLinuxコマンドラインに追加して明示的に有効にできます。

mem_encrypt=on

(によるとhttps://libvirt.org/kbase/launch_security_sev.html)

私のシステム(AMD EPYC CPUを含む)でこの機能が有効になっているか(つまり、デフォルトで有効になっているか)わかりません。

私の質問は、AMD SME機能が有効になっていることを確認する方法です。

~からhttps://www.kernel.org/doc/html/latest/x86/amd-memory-encryption.html提案:

SMEのサポートがある場合は、MSR 0xc00100010(MSR_K8_SYSCFG)を使用して、SMEが有効になっていること、および/またはメモリ暗号化が有効になっていることを確認できます。

私はこのコマンドを実行しました(debian 10で):

apt-get install msr-tools
rdmsr --raw 0xc0010010  | xxd -b

これは私に次のような結果を与えます

00000000: 00000000 00000000 11110100 00000000 00000000 00000000  ......
00000006: 00000000 00000000

引用されたソースに応じて、ビット23はSMEが実際にアクティブ/アクティブ(= 1)か無効/アクティブ(= 0)かを示します。

上記が実際にこれをテストする正しい方法である場合、確認はもちろん、いくつかの文脈で有効な答えと見なすことができます。それ以外の場合は、実行中のLinuxシステムでSMEの状態を確認できれば幸いです。

答え1

SMEがサポートされている場合(対応するCPUIDビット設定を表示)そして有効にすると(適切なMSRビットがセットされている)、/proc/cpuinfoこのsmeフラグが含まれます。これを確認できます。SME検出用のカーネルコードの表示/proc/cpuinfo:SMEが完全に有効になっていない場合、直接反映されたSME機能は削除されます。

あなたも見なければなりませんカーネルブートログの対応するメッセージ:

AMDメモリ暗号化を有効にする:SME

中小企業が活発であれば、

AMDメモリ暗号化機能を有効にする:SEV SEV-ES

SEVおよび/またはSEV-ESが有効になっている場合。

また、見ることができます/proc/cpuinfoのフラグはどういう意味ですか?

関連情報