[PATCH] i386/cpu: Fix unexpected initializer override in Diamond Rapids CPU model definition

Aidan Khoury posted 1 patch 3 weeks, 4 days ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260113174642.1636356-1-aidan@aktech.ai
Maintainers: Paolo Bonzini <pbonzini@redhat.com>, Zhao Liu <zhao1.liu@intel.com>
target/i386/cpu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] i386/cpu: Fix unexpected initializer override in Diamond Rapids CPU model definition
Posted by Aidan Khoury 3 weeks, 4 days ago
The new Diamond Rapids x86 cpu model definition that was added in 7a6dd8bde159 has an unexpected comma in the `.features[FEAT_VMX_EXIT_CTLS]` subobject initializer causing the prior initialization to be overridden, meaning that `VMX_VM_EXIT_SAVE_DEBUG_CONTROLS | VMX_VM_EXIT_HOST_ADDR_SPACE_SIZE` is not included.

Fix this by replacing the comma with the missing bitwise OR to properly combine all the flags into a single bitmask value.

Fixes: 7a6dd8bde159 ("i386/cpu: Add CPU model for Diamond Rapids")
Signed-off-by: Aidan Khoury <aidan@aktech.ai>
---
 target/i386/cpu.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index 37803cd724..917b37d128 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -5589,7 +5589,7 @@ static const X86CPUDefinition builtin_x86_defs[] = {
             MSR_VMX_EPT_INVVPID_ALL_CONTEXT |
             MSR_VMX_EPT_INVVPID_SINGLE_CONTEXT_NOGLOBALS,
         .features[FEAT_VMX_EXIT_CTLS] =
-            VMX_VM_EXIT_SAVE_DEBUG_CONTROLS | VMX_VM_EXIT_HOST_ADDR_SPACE_SIZE,
+            VMX_VM_EXIT_SAVE_DEBUG_CONTROLS | VMX_VM_EXIT_HOST_ADDR_SPACE_SIZE |
             VMX_VM_EXIT_LOAD_IA32_PERF_GLOBAL_CTRL |
             VMX_VM_EXIT_ACK_INTR_ON_EXIT | VMX_VM_EXIT_SAVE_IA32_PAT |
             VMX_VM_EXIT_LOAD_IA32_PAT | VMX_VM_EXIT_SAVE_IA32_EFER |
-- 
2.43.0