@samitouri / QOSamiQemu / commits / 6fc120ecae

target/i386: add new Intel models for MMIO/GDS/RFDS mitigation status

Add new bits to ARCH_CAPABILITIES MSR to enumerate the status of the MMIO/GDS/RFDS mitigations on Cascade Lake, Ice Lake, Sapphire Rapids, and Granite Rapids processors. These have been advertised in Intel microcode updates for a while now, but require user space to opt in to advertise them to guests. New models are: - Cascadelake-Server-v6 - Icelake-Server-v8 - SapphireRapids-v7 (note, already got MMIO fixes on commit [1]) - GraniteRapids-v6 [1] 3baf7ae63505 ("target/i386: Add few security fix bits in ARCH_CAPABILITIES into SapphireRapids CPU model") Cc: Pawan Gupta <pawan.kumar.gupta@linux.intel.com> Cc: Zhao Liu <zhao1.liu@intel.com> Signed-off-by: Jon Kohler <jon@nutanix.com> Link: https://lore.kernel.org/r/20260330193428.1663253-3-jon@nutanix.com Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

Jon Kohler committed Mar 30, 2026 at 12:34 UTC 6fc120ecae4fa8f30489a4247862183e27028df7
1 file changed +41
target/i386/cpu.c
+41
@@ -4901,6 +4901,17 @@ static const X86CPUDefinition builtin_x86_defs[] = {
4901 { /* end of list */ }
4902 },
4903 },
4904 + { .version = 6,
4905 + .note = "with MMIO/GDS/RFDS mitigation status",
4906 + .props = (PropValue[]) {
4907 + { "fb-clear", "on" },
4908 + { "gds-no", "on" },
4909 + { "psdp-no", "on" },
4910 + { "rfds-no", "on" },
4911 + { "sbdr-ssdp-no", "on" },
4912 + { /* end of list */ }
4913 + },
4914 + },
4915 { /* end of list */ }
4916 }
4917 },
@@ -5183,6 +5194,18 @@ static const X86CPUDefinition builtin_x86_defs[] = {
5194 { /* end of list */ }
5195 },
5196 },
5197 + {
5198 + .version = 8,
5199 + .note = "with MMIO/GDS/RFDS mitigation status",
5200 + .props = (PropValue[]) {
5201 + { "fb-clear", "on" },
5202 + { "gds-no", "on" },
5203 + { "psdp-no", "on" },
5204 + { "rfds-no", "on" },
5205 + { "sbdr-ssdp-no", "on" },
5206 + { /* end of list */ }
5207 + },
5208 + },
5209 { /* end of list */ }
5210 }
5211 },
@@ -5360,6 +5383,15 @@ static const X86CPUDefinition builtin_x86_defs[] = {
5383 { /* end of list */ },
5384 }
5385 },
5386 + {
5387 + .version = 7,
5388 + .note = "with GDS and RFDS mitigation status",
5389 + .props = (PropValue[]) {
5390 + { "gds-no", "on" },
5391 + { "rfds-no", "on" },
5392 + { /* end of list */ },
5393 + }
5394 + },
5395 { /* end of list */ }
5396 }
5397 },
@@ -5541,6 +5573,15 @@ static const X86CPUDefinition builtin_x86_defs[] = {
5573 { /* end of list */ },
5574 }
5575 },
5576 + {
5577 + .version = 6,
5578 + .note = "with GDS and RFDS mitigation status",
5579 + .props = (PropValue[]) {
5580 + { "gds-no", "on" },
5581 + { "rfds-no", "on" },
5582 + { /* end of list */ },
5583 + }
5584 + },
5585 { /* end of list */ },
5586 },
5587 },