Intel TDXにおけるEPT
Intel TDXにおけるEPTは、「TDのGPA→HPA」の変換に使用される
ここでHVのEPTは信頼できないため使用できない
信頼できないパターンとして、マッピング次第で他のTDのメモリが見えるとかが、意図的でもミスでも起こり得るため
SEPT
ページはTDのメモリ暗号化鍵によって保護される
そのSEPTルートページがSEPT本体への参照を持っている
共有EPT
HVが管理するページテーブルを使う
GPAのSharedビットを1にすることで共有メモリの扱いになる
I/Oを行う際のようにHVを介する必要がある場合にSharedにする
SEPTと共有EPTの分岐はどこで起こるか?
仮説だとGPA→HPAのときにMMUがSharedビットが立っているか見て使用するページテーブルを決めているのかなと考えた
ChatGPT.icon 「TDCS の SEPT root を毎回見て分岐する」のではなく、VCPU 初期化時に VMCS に入った EPTPを使用する