Skip to content

Commit

Permalink
cpuid: add description of PCID and mitigation by Linux for Alder Lake
Browse files Browse the repository at this point in the history
Signed-off-by: smallkirby <[email protected]>
  • Loading branch information
smallkirby committed Feb 15, 2025
1 parent 9e905c4 commit ce7f04f
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions src/vmm/cpuid.md
Original file line number Diff line number Diff line change
Expand Up @@ -355,6 +355,12 @@ const feature_info_edx = cpuid.FeatureInfoEdx{
};
```

> [!WARN] Linux における PCID の無効化
> 最近の Intel Core CPU であれば、PCID はサポートされているはずです。
> しかしながら、Alder Lake (12th Gen) 以降の CPU では、INVLPG 命令でグローバルページがフラッシュされないというバグがあります。
> これに対処するため、Linux 6.4 移行のカーネルでは PCID を無効化するパッチ[^pcid-disable]が適用されています。
> お使いのカーネルおよびCPUがこれに該当する場合、上記の `pcid``false` にしてゲストでも PCID を無効化してください。
### 0x6: Thermal and Power Management

Ymir では Thermal and Power Management には一切対応しません:
Expand Down Expand Up @@ -533,3 +539,4 @@ Ymir ではこの Leaf はホストの値をパススルーします:
加えて、ゲストとホストの MSR を適切に保存・退避するように VMCS の設定をしていきます。

[^non-exhaustive]: Exhaustive Enum では `_` を使うことができない代わりに、明示的に捕捉したフィールド以外の全てのフィールドを `else` で捕捉することができます。
[^pcid-disable]: [https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?h=x86/urgent&id=ce0b15d11ad837fbacc5356941712218e38a0a83](https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?h=x86/urgent&id=ce0b15d11ad837fbacc5356941712218e38a0a83)

0 comments on commit ce7f04f

Please sign in to comment.