Coelacanth's Dream

RadeonSI が Trust Memory Zone をサポート

AMD GPU向けのオープンソースOpenGLドライバー、RadeonSIが最新コミットで TMZ(Trust Memory Zone)機能をサポートした。
radeonsi: tmz support (!4401) · Merge Requests · Mesa / mesa · GitLab

Trust Memory Zone

Trust Memory Zone はセキュリティに関する機能であり、メモリをページレベルで暗号化することでメモリの内容を保護する。
カーネルドライバーはそれにより BO(Buffer Object、カーネルドライバーが使用するGPUメモリ単位) を暗号化し、暗号化された内容は GPU内の信頼されたIPブロック(GFX, SDMA, ビデオデコーダー/エンコーダー)のみ復号化することが可能となる。
そうでないCPUから読み取ることはできない。1

RadeonSI で TMZ を使用するには、それをサポートする Linux Kernel と libdrm が必要となるが、どちらもまだメインラインには組み込まれておらず、それぞれ開発中のリポジトリからビルドする必要がある。
https://cgit.freedesktop.org/~agd5f/linux/log/?h=drm-next-5.8 Pierre-Eric Pelloux-Prayer / drm · GitLab Linux Kernel のメインラインに組み込まれるのは v5.8 からと見られている。(現在のメインラインのバージョンは v5.7-rc5)

今回サポートされたのは RadeonSI だけであり、Vulkanドライバーの RADV はまだサポートされていない。

また、この TMZ は具体的に何が動機となって開発が進められているかは明かされていないが、PhoronixMichael Larabel氏は、AMD APU/GPU を搭載した Chromebook の開発が起因になっているのではないかと見ている。2

参考リンク


  1. [PATCH 00/14] drm/amdgpu: introduce secure buffer object support (trusted memory zone) ↩︎

  2. AMDGPU Trusted Memory Zone Support Could Soon Be Enabled By Default - Phoronix ↩︎